{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 6. Linear Model Selection and Regularisation – Labs\n",
    "\n",
    "Excercises from **Chapter 6** of [An Introduction to Statistical Learning](http://www-bcf.usc.edu/~gareth/ISL/) by Gareth James, Daniela Witten, Trevor Hastie and Robert Tibshirani."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1031,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "import statsmodels.api as sm\n",
    "import statsmodels.formula.api as smf\n",
    "import patsy\n",
    "import itertools\n",
    "from IPython.display import display, HTML\n",
    "from sklearn import linear_model\n",
    "from sklearn.model_selection import KFold\n",
    "from ipywidgets import interact\n",
    "import ipywidgets as widgets\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')\n",
    "\n",
    "from ipywidgets import interact\n",
    "import ipywidgets as widgets\n",
    "\n",
    "# Deps for pca/pcr\n",
    "from sklearn.preprocessing import scale\n",
    "from sklearn.decomposition import PCA\n",
    "from sklearn.model_selection import cross_val_score\n",
    "from sklearn.linear_model import LinearRegression\n",
    "\n",
    "from scipy import stats"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 8. In this exercise, we will generate simulated data, and will then use this data to perform best subset selection.\n",
    "\n",
    "(a) Use the rnorm() function to generate a predictor X of length n = 100, as well as a noise vector ε of length n = 100."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [],
   "source": [
    "np.random.seed(1)\n",
    "x   = np.random.normal(0, 1, 100)\n",
    "eps = eps = np.random.normal(0 ,1 , 100)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(b) Generate a response vector Y of length n = 100 according to the model $Y = β_0 +β_1 X +β_2 X^2 +β_3 X^3 +ε$ , where β0, β1, β2, and β3 are constants of your choice.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [],
   "source": [
    "y_np = 2 + 2*x + 3*(x**2) + 2.5*(x**3) + eps"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.scatterplot(x=x, y=y_np);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(c) Use the regsubsets() function to perform best subset selection in order to choose the best model containing the predictors X,X2,...,X10. What is the best model obtained according to Cp, BIC, and adjusted R2? Show some plots to provide evidence for your answer, and report the coefficients of the best model obtained. Note you will need to use the data.frame() function to create a single data set containing both X and Y ."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_models(k, X, y):\n",
    "    \"\"\"\n",
    "    Fit all possible models that contain exactly k predictors.\n",
    "    \"\"\"\n",
    "    # List all available predictors\n",
    "    X_combos = itertools.combinations(list(X.columns), k)\n",
    "    \n",
    "    # Fit all models accumulating Residual Sum of Squares (RSS)\n",
    "    models = []\n",
    "    for X_label in X_combos:\n",
    "        # Parse patsy formula\n",
    "        X_smf = ' + '.join(X_label)\n",
    "        f     = '{} ~ {}'.format(y.columns[0], X_smf)\n",
    "        # Fit model\n",
    "        model = smf.ols(formula=f, data=pd.concat([X, y], axis=1)).fit()\n",
    "        # Return results\n",
    "        models += [(f, model)]\n",
    "    return models\n",
    "\n",
    "\n",
    "def min_rss(statsmodels):\n",
    "    \"\"\"Return model with lowest Residual Sum of Squares (RSS)\"\"\"\n",
    "    return sorted(statsmodels, key=lambda tup: tup[1].ssr)[0]\n",
    "\n",
    "\n",
    "def max_adjr2(statsmodels):\n",
    "    \"\"\"Return model with max R-squared\"\"\"\n",
    "    return sorted(statsmodels, reverse=True, key=lambda tup: tup[1].rsquared_adj)[0]\n",
    "\n",
    "def min_bic(statsmodels):\n",
    "    \"\"\"Return model with min Bayes' Information Criteria\"\"\"\n",
    "    return sorted(statsmodels, reverse=False, key=lambda tup: tup[1].bic)[0]\n",
    "\n",
    "def min_aic(statsmodels):\n",
    "    \"\"\"Return model with min Akaike's Information Criteria\"\"\"\n",
    "    return sorted(statsmodels, reverse=False, key=lambda tup: tup[1].aic)[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Progess: k = 1, done\n",
      "Progess: k = 2, done\n",
      "Progess: k = 3, done\n",
      "Progess: k = 4, done\n",
      "Progess: k = 5, done\n",
      "Progess: k = 6, done\n",
      "Progess: k = 7, done\n",
      "Progess: k = 8, done\n",
      "Progess: k = 9, done\n",
      "Progess: k = 10, done\n"
     ]
    }
   ],
   "source": [
    "X = pd.DataFrame({'X': x,\n",
    "                  'X2': x**2,\n",
    "                  'X3': x**3,\n",
    "                  'X4': x**4,\n",
    "                  'X5': x**5,\n",
    "                  'X6': x**6,\n",
    "                  'X7': x**7,\n",
    "                  'X8': x**8,\n",
    "                  'X9': x**9,\n",
    "                  'X10': x**10})\n",
    "y = pd.DataFrame({'y': y_np})\n",
    "\n",
    "# get all model results\n",
    "model_subsets = []\n",
    "for k in range(len(X.columns)):\n",
    "    k=k+1\n",
    "    subset = get_models(k, X, y)\n",
    "    model_subsets += [subset]\n",
    "    print('Progess: k = {}, done'.format(k))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 146,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<h4>Adjusted R^2</h4>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model selected: \n",
      "Intercept    2.298519\n",
      "X            2.659149\n",
      "X2           2.617578\n",
      "X5           2.279830\n",
      "X7          -0.684882\n",
      "X9           0.065720\n",
      "X10          0.001195\n",
      "dtype: float64\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<h4>Bayes' Information Criteria</h4>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model selected: \n",
      "Intercept    2.276949\n",
      "X            1.910076\n",
      "X2           2.657467\n",
      "X3           2.605378\n",
      "X6           0.020949\n",
      "dtype: float64\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<h4>Akaike's Information Criteria</h4>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model selected: \n",
      "Intercept    2.276949\n",
      "X            1.910076\n",
      "X2           2.657467\n",
      "X3           2.605378\n",
      "X6           0.020949\n",
      "dtype: float64\n"
     ]
    }
   ],
   "source": [
    "# Get predictor count\n",
    "k = np.arange(1, len(X.columns)+1)\n",
    "\n",
    "# adjr2\n",
    "# ------------------------------------------------\n",
    "display(HTML('<h4>Adjusted R^2</h4>'))\n",
    "\n",
    "# Plot best r-squared score for each subset\n",
    "adjr2 = [max_adjr2(m)[1].rsquared_adj for m in model_subsets]\n",
    "\n",
    "sns.lineplot(x=k, y=adjr2)\n",
    "plt.xlabel('k')\n",
    "plt.ylabel('$R^2$')\n",
    "plt.show()\n",
    "\n",
    "# Select best subset\n",
    "coefs_r2 = [(max_adjr2(m)[1].rsquared_adj, max_adjr2(m)[1].params) for m in model_subsets]\n",
    "print('Model selected: \\n{}'.format(max(coefs_r2)[1]))\n",
    "\n",
    "\n",
    "# Bayes' Information Criteria (BIC)\n",
    "# ------------------------------------------------\n",
    "display(HTML('<h4>Bayes\\' Information Criteria</h4>'))\n",
    "\n",
    "# Get best BIC\n",
    "bic = [min_bic(m)[1].bic for m in model_subsets]\n",
    "\n",
    "sns.lineplot(x=k, y=bic)\n",
    "plt.xlabel('k')\n",
    "plt.ylabel('BIC')\n",
    "plt.show()\n",
    "\n",
    "# Select best subset\n",
    "coefs_bic = [(min_bic(m)[1].bic, min_bic(m)[1].params) for m in model_subsets]\n",
    "print('Model selected: \\n{}'.format(min(coefs_bic)[1]))\n",
    "\n",
    "\n",
    "# Akaike's Information Criteria (AIC/ C_p)\n",
    "# ------------------------------------------------\n",
    "display(HTML('<h4>Akaike\\'s Information Criteria</h4>'))\n",
    "\n",
    "# Get best AIC\n",
    "aic = [min_aic(m)[1].aic for m in model_subsets]\n",
    "\n",
    "sns.lineplot(x=k, y=aic)\n",
    "plt.xlabel('k')\n",
    "plt.ylabel('AIC')\n",
    "plt.show()\n",
    "\n",
    "# Select best subset\n",
    "coefs_aic = [(min_aic(m)[1].aic, min_aic(m)[1].params) for m in model_subsets]\n",
    "print('Model selected: \\n{}'.format(min(coefs_aic)[1]))\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Comment:** RSS chooses a model with too many features as expected due to overfitting. BIC and AIC try to compensate for overfitting, and do a reasonable job choosing a model with one superfluous feature."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### (d) Repeat (c), using forward stepwise selection and also using backwards stepwise selection. How does your answer compare to the results in (c)?\n",
    "\n",
    "First set up some functions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 222,
   "metadata": {},
   "outputs": [],
   "source": [
    "def forward_stepwise(X, y, scorer='ssr', results=[(0, [])]):\n",
    "    \"\"\"Perform forward stepwise variable selection as described in\n",
    "    An Introductions to Statistical Learning (p.207)\n",
    "    Returns pandas dataframe object  with results for each step\"\"\"\n",
    "    # List predictors that havent's been used so far\n",
    "    p_all    = list(X.columns)\n",
    "    p_used   = results[-1][1]\n",
    "    p_unused = [p for p in p_all if p not in p_used]\n",
    "    \n",
    "    # Job done, exit recursion\n",
    "    if not p_unused:\n",
    "        scores = [r[0] for r in results]\n",
    "        preds  = [r[1] for r in results]\n",
    "        return pd.DataFrame({scorer: scores, 'predictors': preds}).drop(0)\n",
    "    \n",
    "    # Get score for each possible additional predictor\n",
    "    r = []\n",
    "    for p in p_unused:\n",
    "        f     = '{} ~ {}'.format(y.columns[0], '+'.join([p]+p_used))\n",
    "        # Fit model\n",
    "        model = smf.ols(formula=f, data=pd.concat([X, y], axis=1)).fit()\n",
    "        r    += [(model, [p]+p_used)]\n",
    "    \n",
    "    # Choose predictor which yields best score\n",
    "    if scorer == 'ssr':\n",
    "        best_model = sorted(r, key=lambda tup: tup[0].ssr)[0]\n",
    "        best_score = (best_model[0].ssr, best_model[1])\n",
    "    elif scorer == 'rsquared_adj':\n",
    "        best_model = sorted(r, key=lambda tup: tup[0].rsquared_adj)[-1]\n",
    "        best_score = (best_model[0].rsquared_adj, best_model[1])        \n",
    "    elif scorer == 'bic':\n",
    "        best_model = sorted(r, key=lambda tup: tup[0].bic)[0]\n",
    "        best_score = (best_model[0].bic, best_model[1]) \n",
    "    elif scorer == 'aic':\n",
    "        best_model = sorted(r, key=lambda tup: tup[0].aic)[0]\n",
    "        best_score = (best_model[0].aic, best_model[1]) \n",
    "                        \n",
    "    new_results = results + [best_score]\n",
    "    # Recursive call to self\n",
    "    return forward_stepwise(X, y, scorer, new_results)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 227,
   "metadata": {},
   "outputs": [],
   "source": [
    "def backward_stepwise(X, y, scorer='ssr', results=[]):\n",
    "    \"\"\"Perform backward stepwise variable selection as described in\n",
    "    An Introductions to Statistical Learning (p.209)\n",
    "    Returns pandas dataframe object  with results for each step\"\"\"\n",
    "    # List predictors that havent's been used so far\n",
    "    p_all = list(X.columns)\n",
    "\n",
    "    # Check if we're starting out here\n",
    "    if not results:\n",
    "        # Fit model with all features\n",
    "        f     = '{} ~ {}'.format(y.columns[0], '+'.join(p_all))\n",
    "        model = smf.ols(formula=f, data=pd.concat([X, y], axis=1)).fit()\n",
    "        # Begin backward stepwise recursion\n",
    "        if scorer == 'ssr':\n",
    "            return backward_stepwise(X, y, scorer, [(model.ssr, p_all)])\n",
    "        if scorer == 'rsquared_adj':\n",
    "            return backward_stepwise(X, y, scorer, [(model.rsquared_adj, p_all)])\n",
    "        if scorer == 'bic':\n",
    "            return backward_stepwise(X, y, scorer, [(model.bic, p_all)])\n",
    "        if scorer == 'aic':\n",
    "            return backward_stepwise(X, y, scorer, [(model.aic, p_all)])\n",
    "    else:\n",
    "        p_used = results[-1][1]\n",
    "    \n",
    "    # Job done, exit recursion\n",
    "    if len(p_used) == 1:\n",
    "        scores = [r[0] for r in results]\n",
    "        preds  = [r[1] for r in results]\n",
    "        return pd.DataFrame({scorer: scores, 'predictors': preds})    \n",
    "    \n",
    "    # Get rss score for each possible removed predictor\n",
    "    r = []\n",
    "    for p in p_used:\n",
    "        p_test = [i for i in p_used if i != p]\n",
    "        f     = '{} ~ {}'.format(y.columns[0], '+'.join(p_test))\n",
    "        # Fit model\n",
    "        model = smf.ols(formula=f, data=pd.concat([X, y], axis=1)).fit()\n",
    "        r     += [(model, p_test)]\n",
    "    \n",
    "    # Choose removal of predictor which yields best score\n",
    "    if scorer == 'ssr':\n",
    "        best_model = sorted(r, key=lambda tup: tup[0].ssr)[0]\n",
    "        best_score = (best_model[0].ssr, best_model[1])\n",
    "    elif scorer == 'rsquared_adj':\n",
    "        best_model = sorted(r, key=lambda tup: tup[0].rsquared_adj)[-1]\n",
    "        best_score = (best_model[0].rsquared_adj, best_model[1])        \n",
    "    elif scorer == 'bic':\n",
    "        best_model = sorted(r, key=lambda tup: tup[0].bic)[0]\n",
    "        best_score = (best_model[0].bic, best_model[1]) \n",
    "    elif scorer == 'aic':\n",
    "        best_model = sorted(r, key=lambda tup: tup[0].aic)[0]\n",
    "        best_score = (best_model[0].aic, best_model[1]) \n",
    "\n",
    "    new_results = results + [best_score]\n",
    "    # Recursive call to self\n",
    "    return backward_stepwise(X, y, scorer, new_results)\n",
    "\n",
    "\n",
    "def subset_analysis(df, scorer):\n",
    "    \"\"\"Renders results from forward_stepwise() and backward_stepwise()\"\"\"\n",
    "    df['predictors_str'] = df['predictors'].astype(str)\n",
    "    \n",
    "    ax = sns.lineplot(x='predictors_str', y=scorer, data=df, sort=False)\n",
    "    plt.xticks(rotation=90)\n",
    "    plt.show();\n",
    "    \n",
    "    if scorer == 'rsquared_adj':\n",
    "        display(df[df[scorer] ==  df[scorer].max()].drop('predictors_str', axis=1))\n",
    "    else:\n",
    "        display(df[df[scorer] ==  df[scorer].min()].drop('predictors_str', axis=1))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Forward stepwise selection"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 223,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<h4>Adjusted R^2</h4>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rsquared_adj</th>\n",
       "      <th>predictors</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.989408</td>\n",
       "      <td>[X6, X, X2, X3]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   rsquared_adj       predictors\n",
       "4      0.989408  [X6, X, X2, X3]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<h4>Bayes' Information Criteria</h4>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>bic</th>\n",
       "      <th>predictors</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>284.249198</td>\n",
       "      <td>[X6, X, X2, X3]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          bic       predictors\n",
       "4  284.249198  [X6, X, X2, X3]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<h4>Akaike's Information Criteria</h4>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAH+CAYAAACGOJn6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3XmcXFWd/vHP01s6G0l3EiAhkGbf927EDWUZFkXBBXEcN3TEGZzRQURk4OeKqMgMDoIoirK4sqggigjK4gakA0kA2UIgEMISskHI3v39/XFvJ9Wd6k4DqXOrU8/79apXVd26lXpSffp++557zz2KCMzMzPqqKzqAmZlVJxcIMzMrywXCzMzKcoEwM7OyXCDMzKwsFwgzMyvLBcLMzMpygTAzs7JcIMzMrKyGogO8GuPHj4+2traiY5iZDSnTpk17PiImbGi9IV0g2tra6OzsLDqGmdmQImnOYNZzF5OZmZXlAmFmZmW5QJiZWVkuEGZmVpYLhJmZlVXRAiHpcUn3SpouqTNf9kVJT+XLpkt6S8n6p0uaJekhSUdUMpuZmQ0sxWmuB0fE832WnRcR55YukLQb8F5gd2AScLOknSKiqxKhFixdSevIJiRV4p83MxvyqqmL6Rjg5xGxMiIeA2YBB1Tig359z1Psf9bNPLFwWSX+eTOzTUKlC0QAf5A0TdKJJcv/Q9JMST+U1JIv2wp4smSdufmyXiSdKKlTUuf8+fNfUahdJ24GwNTHF72i95uZ1YJKF4jXR8R+wFHAJyQdBFwEbA/sAzwN/E++brm+nlhvQcTFEdEeEe0TJmxwpHhZO24+is2aG+h8fOErer+ZWS2oaIGIiHn5/XPAr4ADIuLZiOiKiG7g+6zrRpoLbF3y9snAvErkqqsT7W2tTHWBMDPrV8UKhKSRkkb3PAYOB+6TNLFktXcA9+WPrwPeK2mYpG2BHYG7KpWvva2FR+e/xMKXVlXqI8zMhrRKnsW0BfCr/CyhBuCnEfF7SVdI2oes++hx4OMAEXG/pCuBfwBrgE9U6gwmgI62VgCmzVnEP+22RaU+xsxsyKpYgYiI2cDeZZZ/YID3fBX4aqUyldpzqzE01dfR+fhCFwgzszKq6TTXpJob69lr8hgfhzAz60fNFgiA9rZW7n1qCStWV6wny8xsyKrpAtHR1sLqrmDGk4uLjmJmVnVqukDsPyUbo9c5xwPmzMz6qukCMXZEEzttMcrHIczMyqjpAgHZcYhpcxbR1b3eoG0zs5rmAjGlhRdXrOHhZ18sOoqZWVWp+QLRM2DO12UyM+ut5gvE5JbhbLHZMF/Z1cysj5ovEFJ24T7vQZiZ9VbzBQKgY0oL85as4KnFy4uOYmZWNVwgyM5kAh+HMDMr5QIB7LLlaEYNa6DTxyHMzNZygQAa6uvYd5uxHjBnZlbCBSLX0dbKQ8++yJLlq4uOYmZWFVwgcu1tLUTA3U+4m8nMDFwg1tpn67E01MkHqs3Mci4QuRFNDey+1RgPmDMzy7lAlOiY0sKMJxezco0nEDIzc4Eo0d7Wyso13dz31AtFRzEzK5wLRIn2tnwCIR+HMDNzgSg1ftQwth0/0schzMxwgVhP+5QWps1ZSLcnEDKzGucC0UdHWyuLlq1m9vNLi45iZlYoF4g+eo5DuJvJzGqdC0Qf244fybiRTb5wn5nVPBeIPrIJhFronOMzmcystlW0QEh6XNK9kqZL6syXtUq6SdIj+X1LvlySzpc0S9JMSftVMttAOtpambNgGc+9sKKoCGZmhUuxB3FwROwTEe35888Bf4yIHYE/5s8BjgJ2zG8nAhclyFbW2gmE5ribycxqVxFdTMcAl+WPLwOOLVl+eWTuAMZKmlhAPnaftBnNjXWeH8LMalqlC0QAf5A0TdKJ+bItIuJpgPx+83z5VsCTJe+dmy/rRdKJkjoldc6fP78ioRvr69h36xYfqDazmlbpAvH6iNiPrPvoE5IOGmBdlVm23mi1iLg4Itojon3ChAkbK+d6OtpauH/eEpauXFOxzzAzq2YVLRARMS+/fw74FXAA8GxP11F+/1y++lxg65K3TwbmVTLfQNrbWukOmP7E4qIimJkVqmIFQtJISaN7HgOHA/cB1wEfylf7EHBt/vg64IP52UwHAkt6uqKKsO82Y6kTPg5hZjWroYL/9hbAryT1fM5PI+L3kqYCV0r6KPAEcFy+/u+AtwCzgGXACRXMtkGjmxvZdeJmHg9hZjWrYgUiImYDe5dZvgA4tMzyAD5RqTyvREdbK1d2Psnqrm4a6z2m0Mxqi7d6A9h/SgvLVnXxwNOeQMjMao8LxAB84T4zq2UuEAOYOGY4k1uGe4Y5M6tJLhAb0NHWSuecRWSHSMzMaocLxAa0t7Uw/8WVPLFwWdFRzMyScoHYgI78wn0+DmFmtcYFYgN2mDCKMcMbfRzCzGqOC8QG1NWJ9iktHlFtZjXHBWIQ2ttaeXT+SyxYurLoKGZmybhADEJHPh5imicQMrMa4gIxCHtOHkNTQ51nmDOzmuICMQjDGurZe/IYH4cws5riAjFI7W2t3PfUEpav6io6iplZEi4Qg9TR1sLqrmDGXE8gZGa1wQVikPbfJhsw5/EQZlYrXCAGacyIRnbeYrRHVJtZzXCBeBn2b2vh7jmL6Or2hfvMbNPnAvEydLS18OLKNTz87ItFRzEzqzgXiJehfYqPQ5hZ7XCBeBkmtwxny82afRzCzGqCC8TLIIn2thbvQZhZTXCBeJk62lqZt2QFTy1eXnQUM7OKcoF4mdrzC/d5L8LMNnUuEC/TLltuxqhhDb4uk5lt8lwgXqb6OrHflBY6faDazDZxLhCvQMeUFh569kWWLFtddBQzs4qpeIGQVC/pHknX588vlfSYpOn5bZ98uSSdL2mWpJmS9qt0tleqva2VCLj7Ce9FmNmmK8UexKeAB/osOzUi9slv0/NlRwE75rcTgYsSZHtF9tl6LA118nEIM9ukVbRASJoMvBX4wSBWPwa4PDJ3AGMlTaxkvldqeFM9e2w1xschzGyTVuk9iG8BnwW6+yz/at6NdJ6kYfmyrYAnS9aZmy/rRdKJkjoldc6fP78ioQejo62F6XMXs3KNJxAys01TxQqEpKOB5yJiWp+XTgd2ATqAVuC0nreU+WfWu2xqRFwcEe0R0T5hwoSNGfllaW9rZdWabu57aklhGczMKqmSexCvB94u6XHg58Ahkn4cEU/n3UgrgR8BB+TrzwW2Lnn/ZGBeBfO9KvtP6Rkw524mM9s0VaxARMTpETE5ItqA9wJ/ioj39xxXkCTgWOC+/C3XAR/Mz2Y6EFgSEU9XKt+rNX7UMLYbP9IX7jOzTVZDAZ/5E0kTyLqUpgP/li//HfAWYBawDDihgGwvS3tbCzf941m6u4O6unI9ZGZmQ1eSAhERtwK35o8P6WedAD6RIs/G0t7WypWdc5n9/FJ22Hx00XHMzDYqj6R+FTrasgmE3M1kZpsiF4hXoW3cCMaPavKAOTPbJLlAvAqSaJ/S6jOZzGyT5ALxKrW3tfDEwmU8+8KKoqOYmW1ULhCvUs9xCO9FmNmmxgXiVdpt0mYMb6z3cQgz2+S4QLxKjfV17LvNWDrnuECY2abFBWIjaG9r5R/zXmDpyjVFRzEz22hcIDaCjrYWugPu8QRCZrYJcYHYCPbdpoU6ecCcmW1aXCA2glHDGtht0mZM83EIM9uEuEBsJO1TWrnnicWs7uo7N5KZ2dDkArGRtLe1sGxVFw88/ULRUczMNgoXiI2kfYov3GdmmxYXiI1kyzHNbN06nE4PmDOzTYQLxEbUMaWVqY8vIpvawsxsaHOB2Ija21p5fulK5ixYVnQUM7NXzQViI+poawHwdZnMbJMwqAIh6TJJY0uet0j6YeViDU3bTxjF2BGNvrKrmW0SBrsHsVdELO55EhGLgH0rE2noqqsT7VNamOoBc2a2CRhsgaiT1NLzRFIr0FCZSENbe1srs+e/xIKlK4uOYmb2qgy2QPwP8DdJX5H0FeBvwDmVizV09RyH6JzjbiYzG9oGVSAi4nLgXcCzwHPAOyPiikoGG6r22GoMTQ11Hg9hZkPegN1EkjaLiBfyLqVngJ+WvNYaEd4K9jGsoZ59Jo/1iGozG/I2dBzhp8DRwDSgdPSX8ufbVSjXkNbe1sLFt89m+aouhjfVFx3HzOwVGbBARMTR+f22+V7EjkBzimBDWUdbK9+59VFmzF3MgduNKzqOmdkrMthxEP8K3Ab8Hvhifv/5Qb63XtI9kq7Pn28r6U5Jj0j6haSmfPmw/Pms/PW2l//fqQ77bdOChI9DmNmQNtizmD4FdABzIuJgsjEQz7+M9z5Q8vwbwHkRsSOwCPhovvyjwKKI2AE4L19vSBozopGdNh/t4xBmNqQNtkCsiIgVkP2lHxEPAjtv6E2SJgNvBX6QPxdwCHB1vsplwLH542Py5+SvH5qvPyS1t7Vw95xFdHX7wn1mNjQNtkDMzS+18WvgJknXAvMG8b5vAZ8FeqZZGwcsjog1Pf8usFX+eCvgSYD89SX5+r1IOlFSp6TO+fPnDzJ+eh1trby4cg0PPfNi0VHMzF6RwY6DeEdELI6ILwL/D7iEdX/5lyXpaOC5iJhWurjcPz+I10qzXBwR7RHRPmHChMHEL0T72gFzPg5hZkPTy76aa0TcFhHXRcSqDaz6euDtkh4Hfk7WtfQtYKyknrOnJrNuT2QusDVA/voYYMhuXbcaO5yJY5p9HMLMhqyKXe47Ik6PiMkR0Qa8F/hTRPwLcAvw7ny1DwHX5o+vy5+Tv/6nGMIz70iiva2VqY8t9ARCZjYkFTEfxGnApyXNIjvGcEm+/BJgXL7808DnCsi2UXW0tfDMCyt4avHyoqOYmb1sSa7IGhG3Arfmj2cDB5RZZwVwXIo8qbRPaQWg8/FFTG4ZUXAaM7OXxzPKVdDOW45m9LAGzzBnZkOSC0QF1deJ/aa0eIY5MxuSXCAqrKOthYeefZEly1YXHcXM7GVxgaiw9rbsOMS0J9zNZGZDiwtEhe09eSyN9XI3k5kNOS4QFTa8qZ49thrjAmFmQ44LRAIdba1Mn7uYlWu6io5iZjZoLhAJ7D+lhVVrurnvqSVFRzEzGzQXiATap2QX7vN1mcxsKHGBSGDcqGFsN2GkZ5gzsyHFBSKRjimtdM5ZRLcnEDKzIcIFIpH2thYWL1vNo/OXFh3FzGxQXCAS6cgHzPk4hJkNFS4QiUwZN4Lxo4b5OISZDRkuEIlIoqOthamegtTMhggXiITa21p5cuFynlmyougoZmYb5AKRUEdbNh6i03sRZjYEuEAktNvEzRjRVO/rMpnZkOACkVBDfR37bjPWexBmNiS4QCTWPqWVf8x7gaUr1xQdxcxsQC4QiXW0tdIdcM8T7mYys+rmApHYPtuMpb5OHjBnZlXPBSKxUcMa2HXiaA+YM7Oq5wJRgPYprdzzxGJWd3UXHcXMrF8uEAXoaGtl+eou/jHvhaKjmJn1ywWiAO1tPRMIuZvJzKqXC0QBttismW1aR3jAnJlVtYoVCEnNku6SNEPS/ZK+lC+/VNJjkqbnt33y5ZJ0vqRZkmZK2q9S2apBe1sLnXMWEuEJhMysOlVyD2IlcEhE7A3sAxwp6cD8tVMjYp/8Nj1fdhSwY347EbiogtkK19HWyvNLV/H4gmVFRzEzK6tiBSIyPdOnNea3gf5cPga4PH/fHcBYSRMrla9oHT4OYWZVrqLHICTVS5oOPAfcFBF35i99Ne9GOk/SsHzZVsCTJW+fmy/r+2+eKKlTUuf8+fMrGb+itp8wipYRjR4PYWZVq6IFIiK6ImIfYDJwgKQ9gNOBXYAOoBU4LV9d5f6JMv/mxRHRHhHtEyZMqFDyypPE/lNamfr4Ih+HMLOqlOQspohYDNwKHBkRT+fdSCuBHwEH5KvNBbYuedtkYF6KfEU5dNfNeez5l7h2+ib93zSzIaqSZzFNkDQ2fzwcOAx4sOe4giQBxwL35W+5DvhgfjbTgcCSiHi6UvmqwXvat2b/KS184br7efYFzzJnZtWlknsQE4FbJM0EppIdg7ge+Imke4F7gfHAWfn6vwNmA7OA7wMnVTBbVaivE998916sXNPFf//yXnc1mVlVaajUPxwRM4F9yyw/pJ/1A/hEpfJUq+0mjOKzR+zCl6//B1dPm8tx7Vtv+E1mZgl4JHUV+PDr2jigrZUv/+YfPL1kedFxzMwAF4iqUFcnvnncXqzpDk67xl1NZlYdXCCqxJRxIzn9Lbtw+8Pz+cXUJzf8BjOzCnOBqCLvf80UXrvdOM767QPMXeRLcJhZsVwgqkhdnTjn3XsREZx2zUx3NZlZoVwgqszWrSP477fuyl9nLeAndz5RdBwzq2EuEFXofQdswxt3HM/Zv3uAJxe6q8nMiuECUYUk8Y137UW9xKlXz6C7211NZpaeC0SVmjR2OP/v6N24Y/ZCrrhjTtFxzKwGuUBUsePaJ/PmnSfw9Rse5PHnXyo6jpnVGBeIKiaJr79zLxrq3dVkZum5QFS5Lcc088W37c7Uxxfxo789XnQcM6shLhBDwDv324rDdt2cc37/ILPnL93wG8zMNgIXiCFAEme/Y0+aG+v5zFUz6HJXk5kl4AIxRGy+WTNfPmZ37n5iMZf8ZXbRccysBrhADCFv33sSR+y+Bef+4WFmPfdi0XHMbBPnAjGESOKsY/dkZFM9p1w1kzVd3UVHMrNNmAvEEDNh9DC+cuwezHhyMRf/2V1NZlY5LhBD0NF7TeKte07kWzc9wkPPuKvJzCrDBWKI+vIxuzO6uYFTrprOanc1mVkFuEAMUeNGDeOsY/fgvqde4KJbHy06jpltglwghrCj9pzI2/eexPl/fIT75y0pOo6ZbWJcIIa4L719d8aOaOIzV81k1Rp3NZnZxuMCMcS1jGzi7HfswQNPv8AFt8wqOo6ZbUJcIDYBh+++Je/cdysuvGUW9z3lriYz2zhcIDYRX3jb7owb2cQpV85g5ZquouOY2SagYgVCUrOkuyTNkHS/pC/ly7eVdKekRyT9QlJTvnxY/nxW/npbpbJtisaMaOTr79qTh559kfP/+EjRccxsE1DJPYiVwCERsTewD3CkpAOBbwDnRcSOwCLgo/n6HwUWRcQOwHn5evYyHLLLFhy3/2QuuvVRZjy5uOg4ZjbEVaxARKZn8oLG/BbAIcDV+fLLgGPzx8fkz8lfP1SSKpVvU3Xm0buxxWbNnHLVDFasdleTmb1yFT0GIale0nTgOeAm4FFgcUSsyVeZC2yVP94KeBIgf30JMK7Mv3mipE5JnfPnz69k/CFpzPBGvv6uvZj13FLOu/nhouOY2RBW0QIREV0RsQ8wGTgA2LXcavl9ub2F9WbGiYiLI6I9ItonTJiw8cJuQt600wT++YBt+P7ts5k2Z1HRccxsiEpyFlNELAZuBQ4ExkpqyF+aDMzLH88FtgbIXx8DLEyRb1N0xlt3ZeKY4ZzqriYze4UqeRbTBElj88fDgcOAB4BbgHfnq30IuDZ/fF3+nPz1P0WE59Z8hUYNa+Ccd+/F7Odf4twbHyo6jpkNQZXcg5gI3CJpJjAVuCkirgdOAz4taRbZMYZL8vUvAcblyz8NfK6C2WrC63cYzwcOnMIlf32MqY97Z8zMXh4N5T/S29vbo7Ozs+gYVe2llWs48v9up17id596IyOaGjb8JjPbpEmaFhHtG1rPI6k3cSOHNfDNd+/N4wuWcc7v3dVkZoPnAlEDDtxuHB9+XRuX/u1x7pi9oOg4ZjZEuEDUiM8euTNt40Zw6tUzeGnlmg2/wcxqngtEjRjR1MA3j9ubuYuW8/UbHiw6jpkNAS4QNaSjrZWPvn5brrhjDn+d9XzRccysyrlA1JjPHLEz240fyWevnsmLK1YXHcfMqpgLRI1pbqzn3PfszdNLlnP27x4oOo6ZVTEXiBq03zYtfOyg7fjZXU9y28O+4KGZledRUzXq5MN24o8PPMdpV8/kxpMPYszwxqIjmW0UEcGqrm5WrOpm+eoulq1aw/LVXaxY3cXyfNny1V2sWNW19vHyVfnr+eNlA7ze1V06uDi7xmjpxAQ9D3svG2i99a9T2ms99f43epa974Bt+Pibtn+Z387L4wJRo5ob6/mf4/bmnRf9jbOu/wffPG7voiNZjVjd1b12o7t8VRfLVnWxfPUalq/qXrsxX7c8X69kQ136fEXJ66WPu1/BBSKaG+sY3ljP8MZ6mpvq1z4eNayB8aOGMaKpnuaGehrqsw11z0f0vhhFrLes53GUXJx63bKB16PsetmziWOHv+z/48vlAlHD9t56LP/2pu248JZH6Whr5TXbtTJu1DBGNtWX/avGNh0RwZruoKs7u1/T1d3v81VrulmxOttgL8v/kl638V6z3oZ82arej1fkf8X3PF7d9fK23hKMaKxneFN+69mIN9bTOrKJ4WPXbdR71mvO1+lZv7mx93uHN9UxvKlh7fNhDXXU1bnN9+UCUeM+eeiO/PGB5/jsNTPXLhvWUMe4kU2MGzWMcaOaGDdyGONHNa19PG5UE+NHDaN1ZBOtI5tobqwv8H9QXbq7g5Vrulm5pouV+YZ15ZpuVq7Olq1Yve61tc9X96zb+7WVq7ONdLah7mZ117oNeN/na7q6S14LVm/gedcr+RO7H/V1Wn8D3lTPiKZ6WkY0ZY/7vD6iz+PmxnpGNDWUPF737wxrqPMfLAVxgahxwxrquerfXkvnnEUsWLqKhS+tZMHSVTy/dBUL8scPP/Miz7+0ilVrusv+G6OHNWTFY9SwtYVl/KiseIwbNYzxJcWmZUQT9Qn+UuvuDlaUbJBXrM421itWr9twr90gr+7O1+29fs9rvTb0a18rfX3dequ6yn9Hg9VQJ5rzv2ibGuporK+joU7U57fG+jrq67R22fDG+l7P+77eUPL+hg09rxcNdWWe16vMRr1h7Qa8qcHnumyqXCCM0c2NHLzz5gOuExEsXbmGBUtXseClVSxYunLt/fMly+YsWMbdTyxm4Usry/YDS9A6ItsbKVdA6qVsQ12yUV674S59Xnbjv25j/Wo21PV1ormhjmH5hrpngz0sXza6uYHxDfUMa6yjOb/vvV6f9zVmy5obB36tqb6OhnpvbK16uEDYoEhidHMjo5sbaRs/coPrd3UHS5avLikg2d7IgqUref6lVSzMlz0w7wWeX7qSF1aUvz5UY73yjXDPBjbbuDbnz8cMb6R57Ya6vuT1dRvhtc97bdTXbbB71m1urKe5wRtpsx4uEFYR9XVae4xixy02vP6qNd0sfGkV3RFrN+jDGuqTdEeZWXkuEFYVmhrq2HJMc9ExzKyE96XNzKwsFwgzMyvLBcLMzMpygTAzs7JcIMzMrCwXCDMzK8sFwszMylLExrtoV2qS5gNzXuHbxwPVMDGzc/TmHL1VQ45qyADO0deryTElIiZsaKUhXSBeDUmdEdHuHM7hHNWfwTmKyeEuJjMzK8sFwszMyqrlAnFx0QFyztGbc/RWDTmqIQM4R18Vz1GzxyDMzGxgtbwHYWZmA3CBMDOzslwgzMysLE8YlJCk/Qax2uqIuLfCOVoHsVp3RCyucI53DmK1FRHxu0rmsHXcNqyUD1InJOlFYCow0Dya20ZEW4VzrADmbSBHfURsU+EcC4BrN5DjoIjYvsI5Zg5itfkRcWgFM7ywoVWApyNip0plyHO4bfTOcf4gVnshIs6scI5C2mjN7EFUyS/g1Ig4ZMAQ0p8q+Pk9HoiIfTeQ454EOW6IiI9sIMePE+SoB94yUAzgugpneLRKfiZuG70dA3x+A+t8DqhogaCgNlozexCS7hlMw9/QOpsCSc0RseLVrrOpkPSGiPjLq13nVWbYLiJmv9p1NkIOt40Skv4rIr71atfZCDkKaaO1VCAK/wWU1LNb3hURT1Xqc4YKSQflD1dFxB2FhrGq4rZRHWqmi2kwG/5K/3UGXJbfLwDeXeHP6pekx4Ag67N8TVE5gBPy+8VAYRsBSbeQfR8LI6KQn0u1/EyqJQfV0zZ6upeWRsT/FpijkDZaS3sQ1dLwrcpImpI/7IqIuYWGsaoi6UP5w+URcWWBOQppozVTIKqFpAOAiIipknYDjgQeTH26nqQtyYI8I2kC8EbgoYi4P2EGAceRFe6rgUPIDgo+CHw3IrpTZSmTrTUiFib+zDqAiOiW1ATsATxeQA63jSEgRRutqYFykup6fgklNUnab5DnfW+sz/8CcD5wkaSvARcAo4DPSTojYY6PA38H7pD078D1wNHALyV9NFUO4ELgPcAHgCuAfwM6gYOA81KFkPR6SQ9Iul/SayTdBHRKelLSaxNlOBZ4GnhK0jHAn4FzgZmS3pYiQ57DbaOEpC0lfUfShZLGSfqipHslXSlpYsIcxbTRiKiJG3As8CzZL+ExwJ3An4C5wNsSZbiX7HS1EcALwGb58uHAzITfxb15hnHAUmDLfHkLMD1ljvy+key4TFP+vKHntUQ57gL2BF5LNkPXG/Ll+wF/TZThHmBLYNu8beycL58CdLptFNY2fg/8J9mprDOB04Bt8mXXJsxRSButmYPUwBeAvck2xjOAjoh4KO/buwb4TYIMayKiC1gm6dGIeAEgIpZLSrnLvDoilpXkeCbPsUhSyj7HNfnnrpY0NSJW5c/XSOpKmKMx8tHrkuZHfqpgRNwtaXiqED0/B0lPRMRD+bI5PXu9ibht9LZFRHwbQNJJEfGNfPm3E+9RFdJGa6qLKSKeiYjHgF6/gKT7HlZJGpE/3r9noaQxQMoC0S2pMX/81pIczaRtE89IGgUQEUeW5NgSWJUwR+n/+fQ+rzWlClFSCD5Ssqw+ZQbcNvoq/T9fPsBrKXMka6M1VSCq4BfwoPyvM6L3QbZG4EPl31IR7yQ7+Ef0PiNiHHBKqhARcVRELC3z0otk/d6p/L+ewh0Rv+5ZKGl71t8oVMqJ5O0wIu4qWb418PVEGcBto69rSwrV2tHSknYAHk6Yo5A2WksFohp+AfcqtzAingf2SZQh/8hYU2bhU8DKVCEkvaufl1YDH0+VA7i+p3CXiohHSTd72ANRZnRyRDxOdtA4FbeNEhHx+XKFKiJmRdoxM4W00VoqENULZZzRAAAgAElEQVTwC3iJpIskje1ZIGkPSbcD/f1CVMJtkj4rae0xKElbKLu2TcrBQCdKukHStiU5jiI7GDguYY5OSeuNjZH0r8DdiTLMkPSePp/fLOkssgOlqbhtlJD0bUmjyyzfRdLNqXJQVBtNdRS+6BvwKPCePsuagbOARxJlaCDrP3yMrJvrPOAh4OjE30UL8D2yM1YOAT4FzAE+AdQlzvLP+c/mK8CvgL8AeyfO8AayExe+D7QC+5L90XAVMDlRhu2BG4CbgB3IzrR7BPgmMMpto7C2cUae4X358xHAOWTdS+9ImKOQNprsiy76Vi2/gHmWU8kOSs8FJhX4nXyqJEeSDWGZDPV5kV6a59ip4ByLgCeBwwvKcSrZGTxzgd3dNqqibWwL/Ba4HZgFnA2MKPD7SNZGa6aLKSIejYijgD+Qjca8EDg2Ik6N8gfDNjpJ20u6ETgY2JVsINTtkk4Y+J0bPcdYSd8ju97NkWQjVW+QNOClyCuQ4w1k5/+PIzsW9B/AbyR9WdKwlFnIRu3+M3AR2ViZ4xMPomyQdDpZ//pJZIPCzpe0c6oMeQ63jfX1nN7bQNYt/0CUOR6QQPo2WkRFLuivgJ7unVlkB6x/DfyRfEBSogyzgHf3WTYJ+DmJBmTlnzkb+AzQULJsH+BvwM8S5ugEDuizbATwDbLLj6TKcTPZOJht8+ciGwj1KHBiogz3ko2sH1Oy7GiyP2bOdtsorG2cmf/eHp8/34qsaN4G7JYwRyFtNMl/rhpu1fALyABdWcBhCb+LfrsMgI8lzNFvnzawa8IcZfuSyUY2/yRRhv37WT4c+KrbRmFt4/+A0WWWH0W2J5EqRyFttGYu1idp/4iYVmb5cODMiKj4tZDk+SB6ka/5b/0YCm1D0rCISHbqbxFqpkBUA2XXdAdYEAXNO5DnqIpLn0v6Uf5wcUScXGAOzwdRfTmqpW14PohaUC0N36qPPB+E9UOeD6I2CoSZmb08NXOaq6QNjjYczDpmZrWiZvYgJC0nGxjX7ypkZzhtM8A6ZmY1o5bmg9hlEOukvM78WvnMVAs39TMiBktSO/C0z/Syvtw20qqZPYhqll/0a3vgmoj4TIE5HsgfXhgRFxSY4zKyK98+HBHHF5xjGdn3cV9BGW4mu4LphRFxfREZ8hxuG71znEQ20901UebqtwlzVLSNukBUCUkiG5mZbGL4fnKMAw6MiN8WmSPPMjoiXizw8zvIppc8ICJOKyjDJGAi2c/kwiIylGRx21j3+Z8g65WYEhFvLzBHRduoC4QVxgMHrT9uG9XBBSKhahmLUUU5qmXg4I/Ivo8lRQ3KqobBenkOt43eOT6YP1weEVcVmKOQNlpLB6kLFxHbbnityquiHAcXnSF3aX6fcq7jvj6c3xdyokQPt4319HwfhXVn5S7N75O2Ue9BFEBSY0Ss7rNsfGRTj9YUSZsBEyKbOrF0+V4RMbOgWFYF3DaKVzMD5aqBpIMlzQXmSfqDpLaSl/+QMMdeku6Q9KSkiyW1lLx210Dv3cg53kN2Nd1rJN2fH3DrcWnCHJtJ+pqkKyS9r89r30mUYWtJP5f0Z0n/Lamx5LVfD/TejZzDbWP9LEdI+mif31ckfSRhhkLaqAtEWucAR0TEBLKJxm+SdGD+mhLm+A7wRWBPsqkT/yJp+/y1xv7eVAH/TXaZ633IJqi5QtI789dSfh8/yj/vGuC9kq4pmZTmwP7ftlH9ELiV7Br/E8nmhu6Ze3lKf2+qALeNEpK+Rjbt6J7AHyX9Z8nL/5EqB0W10Upfx9y3Xtdun9Hn+e5kc1K/A7g7YY7pfZ4fTDbK/MDEOe7t83wiMA34ZMHfxxnAX8lmM0uSo0yG9wP3k42Pcdsorm3cSz55EjAW+B1wXv78ngJ/LknaqA9Sp7Va0pYR8QxARNwv6VDgerINQSqSNCYiluQ5bpH0LrK/TpJNswm8KGn7yPuYI+JpSW8mm+1v94Q5hkmqi4juPMdX867A24FRiTI0SmqOiBV5hh9Lega4ERiZKAO4bfTVEPlAuIhYLOltwMWSrgKaEuYopI26iymtzwFblC6I7NK9bwa+njDHN8jmxC7NMRM4FPhlwhz/Tp82GNngpyOBZP27ZFM59ppzOSIuA04h3VkjPwB6nVYaETeTzUOcchS320Zvj0p6U0mGroj4KNme/679v22jK6SN+iymhCSNioil/by29q+lBDnW/iVS5rWxEbE4UY6tI+LJfl57Y0T8OUWOaidp7V+xCT7LbaP3Zw0HiIjlZV7bKjbxQXzeg0hrRn52xlqSmiWdBfw+YY5OSesNgpL0r0DKS57fJumzktZ2dUraQtKPgWSzd0n6tqTRZZbvouxaSCky/EbrJoUpXX4YMD1FhpzbRm9v6ac4NJFwT6aoNuoCkdbhwAmSbpK0g6RjyA6CDQP2TZjjk2T9qN+X1CppX0l/B44ADtrAezem/cmOvdwj6RBJnwLuAv5On+6WCnsGmN5z+qCkEZLOAa4DUl3/6OfALZLOkNQoaZKkK4GzgA9t4L0bk9tGbydKukHS2gGEko4CZpIdIE6lmDaa6ii8b73OQDgVWAPMBXYvKEM92cZnEfAkcHiB38engO78+5hcUIZtgd+SHfSbBZwNjEicYQzwvfzz5wAnkncDu20U2jb+GXgU+ArwK+AvwN4F5EjeRr0HkZCkBkmnAx8HTgI6gfMl7VxAnOPIGv5FwNPA8ZJSnqWCpLGSvkd2nvuRwNXADZIOGfidFdFzMK6BbM/6gYhYljjDbsABZH8pryQ7oaGIMw3dNnq7EvgZcDLQAXwkImYUkCN9Gy3qL4NavJF1J11ANnNdz7KjyUaMnp0wx81kZ0Vsmz8X2QCtR4ETE+aYDXyG/DzzfNk+wN+AnyXMcSbZX2TH58+3Itsg3UZ2CfYUGX5A1sf/2vz5SOBc4B8k/AvebWO9HG8g6066CGgBjiU7g+nLwLCEOQppo0n+c76t/SHv38/y4cBXE+Z4Rz/LtwR+kjBHv10GwMcS5vg/YHSZ5UeR/ZWWIsPJQH2Z5XsCf3bbKKxtdJLNtVC6bATZ6cAPJsxRSBv1aa5mA5A0LDwVbM3awGm/u0bEA+VeS6mSbdQFIiFV17X2PffAuhyfzx8ujYiUp1CWZih8Too8h9tG7xw9Z26tiog7CsxRSBv1pTYSiiq51j6ee6CvOfn9eue7J3Rpfl/knBTgttHXCfn9YqCwAkFBbdR7EGZmVpZPc01I0gZHog5mHTOzFLwHkZCk5WSXTu53FbJTYLcZYB0zsyR8DCKtXQaxTqF9v2ZmPbwHYWtJugxYBlwYESkvMd03R8+pgxdGxAUF5jgJWABcE4muplomw9nAEuAHEbGgiAx5DreN3jnagaej4Ku5VrqN+hiElbqAbCTtB4oMERG7ko1gfazIHGRdfm8g7TwIfd1Fdt2u8wrMAG4bff0ncL2kXxSco6Jt1HsQZmavkKTRkU1ktElygahBVTQoq1oGQ30wf7g8Iq4qKMMXyL6Lwgbr5TncNnrn6DlhpKvI7qSi2qgPUtemS/P7QgdlVdFgqJ4cRf4l+Hh+X+RgPXDb6Ouy/H4BUNjIcgpqo96DqEFVNPVpR0RM7ee1D0TEFSlyDCTVdJ9VNNWn28YQU8k26oPUtalapj69RNJFksaW5NhD0u3Au1KFqJLpPqtlqk+3jRKSTpG03nZS0jhJlyTMUUgbdYGoTdUy9el+wBNk00p+RNJ5wDXAORFxbMIc1TDdZ7VM9em20dvOwN2SXt+zID+1tJPse0mlmDaa6nrmvlXfjSqY+rQkR8+0kpMKylD4dJ9U11SfbhvrMryObC/uCmAq8FNgYgE5krdR70HUoGqZ+lTS9pJuBA4GdiWbQe12SScM/M6KqIbpPqthqk+3jfXdR1YYDiJrF9+NiKcLyJG+jRb1l4Fvxd2onqlPZwHv7rNsEtnu9F8T5ih8uk+qZ6pPt43en/l+sulPTyPbGO9Pdtnvy4HNE+YopI0m+c/5Vl03qmfq01EDvHZYwhyFT/dJ9Uz16bbR+7OuBab0WSbg34HZCXMU0kZ9mqsVploGIVn1GQptQ9KEiJhfdI5KcoGoQVU0SvWW/OGCKHZ6y8JHD3uqz/VyVEvbKHyUfZ6jkDbqkdQ1KKpklGpEHFx0htyl+X2Ro4c/nN97qk+qqm1Uwyh7KKiNeg/CzMzK8mmuNchTn5rZYHgPogZ56lMzGwwfg6hNVT31qaSJZAdrVxaVwaqT20Za3oOwqiPpZmB7smkUP1NgjsKn+6yiqT5vBlbnOa4vOEc1tI1jgGci4s6iMuQ5KtpGXSCsKkkSsFtE3F9ghmPJNkZ7R8QHN7R+hTJ0ANsAB0TEaUVkyHNMAiYCB0bEhUXlyLNUQ9s4m2yQWkNEHFVgjoq2URcIMzMry8cgrDBVNCir8Ok+q2GwXp7DA/Z65+i51PqqiLijwByFtFEXCCtMtQzKojqm+7w0vy90qk88YK+vnqvHLia7SF9RHs/vk7ZRdzFZYSQ1Aauj5wpo0sFkE8X8IyJuKDRcFZA0rqiD4yUZNgN2JLsw3aKEn+u2UQU8UM6KNBUYCyDpVOCrZFcN/bSkr6UKIek/JI3PH+8g6XZJiyXdKWnPRBm+XpKhXdJs4E5JcyS9KUWG/LN/XJLjCOB+4BvAdEnHpcpB9bSN1+RFEknDJX0pn/7zG5LGJMxRTBtNdbla33zrewPuK3ncCQzPHzcAMxPmuL/k8W/JL70NvJlEcw8A95Y8vgXoyB/vBHQm/C5Kc/wNaMsfjwdm1GLbIDtTCeBi4FvAG4AvAL9MmaPkcbI26mMQVqQXJO0R2fn9zwPNZH2sDaTduy39Pdg8In4FEBG3ShqdKEOjpIaIWEO2MZyaZ3hY0rBEGQDqJG0WES+QTfX5RJ7jeUkptxfV0jbq8p8JQHtE7Jc//ouk6QlzFNJG3cVkRfo34CeSLgeeAzol/RD4C5CsGwG4WtKlkrYDfiXpvyRtk09v+USiDBcCv5N0CPB7Sd+SdJCkLwEpN0RfAm6R9BHgr8BVkj4o6VLg9wlzVEvbuK9kmtMZktoBJO1ENnAwlULaqA9SW6Ek1QOHk3WlNJBNTn9jRCxOnOPDZLOEbQ8MA54Efg18IyKWJMrw5jxDz3fxJNmMZj+MiGQbI0k7AB+j98/k1xFxY6oMeY7C20Z+nOH/gDeS7cnsR/ZzeRL4ZETMSJjlwyRuoy4QVhhJoyJiaT+vbR8Rj6bOZP0r6QJL8VlV1TbybpztyAtVRDyb8vOL4i4mK9IMSe8pXSCpWdJZJOzOkHRK/tdq3+XjJF2SKMO3y/UlS9olv/5QEvkZOlPKLD+MtF1d1dI2OgAi4sWImBER03qKg6QPJMxRSBt1gbAiHQ6cIOmm/NS9Y4B7yXaf902YY2dgmqTX9yyQdBIwLc+TwjNkp5K+L//8EZLOAa4jOz6Rys/JjkGcIalR0iRJVwJnAR9KmKNa2sYlki6SNLZngaQ9JN0OvCthjkLaqLuYrHD5ee5fI9tIHhEFXIRN0uuAC8hOa9yFbL6MUyLi6YQZts0zjAYmAVcCZ0XEslQZ8hxjgHOAQ4FGsjEI348CNhZFt438zK1TgROBr5BdoO+twKcj8VVti2ij3oOwwkhqkHQ68HHgJLLz3c+XtHMBce4jG5x1ELAF8N2UxSHXswHuOZXzgdTFIbcbcABwF7CS7PtIekp8tbSNiFgTEV8DvgP8ADgOeHPq4pBL3kZdIKxI9wBbAftHxMURcSxwHnCtssspJyHp/WT967PJzhB5B3COpMslbZ4ow5nAzcDlEfE6srNmjpF0m6TdUmTIc/yArEvrpIh4H1l3zhiyYwKHp8pB9bSN7SXdCBwM7AqcC9xecuprqhzFtNFUIwF9863vjeyXv9zy4cBXE+a4FpjSZ5nITimcnSjD/wGjyyw/imxPItV3cTJQX2b5nsCfa7BtzALe3WfZJLJjNUlG2eefWUgb9TEIswFImhAR8wvOMCw8xWYhNnC67WERkewMs/5Uso26QFhhVD3X/O+ZiWt5RFxVUIbP5w8Lm5Miz1Et81JUS9vYJn/YFRFPFZijkDbqazFZYaJ6rvnfk+PFAjPMye+LnJMCqmReiipqG5fl9wuAwiZQoqA26j0IMzMry2cxWWEk3b0x1jGzyvAehBVG0nKywT79rgKMiYhtBljHzCrExyCsSLsMYp1C50Y2q2XegzDrR379n2ci4s4CM5xEdoD0mkh0JdV+cpwNLAF+EAXOk51fuHA1cGEUM5q5J8dEYGHRpx9Xuo36GIRZ/14DnCnphgIziGyKy18WmAGyy26sIRvNXKQPAmcC611xNrErgAclnVtwjoq2Ue9BmJm9ApIE7BYFXFwyFRcIq3mSDsofroqIOwrKUPhgvTzHF8gGqBU9YO+WPMfCiChy/EFVKKqN+iC1GfRceG0xUEiBYN1AqLKXdUjo8fy+6AF7H87vCz1JoVpGdFNQG/UehJlVLUlbkF3VNYB5USNTfVYLFwgzQNIRwLGUbIyAayMiyfSW+cQ0Hy2XAbgkIlYnyjEGOD3PMSFf/Fye4+sRsThRjn2A75JdarznGkiTyf6CPikikg2gzL+TI+n9c7kx1XdRkiN5G3WBsJon6VvATsDlwNx88WSyM2YeiYhPJcjwM7KN32V9MnwIaI2I4yudIc9xI/An4LKIeCZftmWe47CI+KdEOaYDH+97+qakA4HvRcTeiXJ8EPgC8Ad6F6p/Ar4UEZcnylFIG3WBsJon6eGI2KnMcgEPR8SOCTI8FBFlZ0vrL18BOfp9rQI5Hunve5c0KyJ2SJTjIeA1ffcWJLUAdyb8uRTSRj0OwgxWSDqgzPIOYEWiDIskHSdp7e+kpDpJxwOLEmUAmCPps3nff0+OLSSdBjyZMMcNkn4r6XhJr8tvx0v6LZCk2y8n1k0FW6o7fy2VQtqoz2Iyy86YuUjSaNbtvm8NvMC6s2kq7b3AN4DvSOopCGOBW/LXUjke+BxwW8lUls8C1wHvSRUiIj4p6SjgGLI+d5H9bC6MiN+lygF8Fbhb0h9YVyC3Ieti+krCHB+mgDbqLiazXN7XvnZj1NMHX0COcWS/m88X8fnWW96ddAS9C9WNEZFyz64nS9I26gJhNgBJu0TEgwVn+KeIuKnIDHmOEyLiR1WQ4+KIOLHoHNWikm3UBcJsAJKeKPpy49WQIXUOSa39vQTMiIjJKXIMRNK9EbFnFeSo2M/FxyCs5kk6v7+XyI4DpMhw3QAZxqXIkOeYOUCOLfp5rRLmk03DWnogOPLnm5d9RwVIemd/LwFbJsxRSBt1gTDLLmNwClDu0s3/nCjDG4H3s/6lNgSUO3ulUrYg62/v278u4G8Jc8wGDo2IJ/q+ICnl2VS/AH5C+TOZmhPmKKSNukCYwVTgvohYbwMo6YuJMtwBLIuI28pkeChRBoDrgVERMb1MjlsT5vgW0AKsVyCAcxLmmAmcGxH39X1B0mEJcxTSRn0Mwmpe3t+9IiKWFZ3FqoukNwJz+tmTaY+IzkQ5CmmjHihnll1CuewvnqTtUwSQtPUAr70xRYb8szoGeO0DCXOcIqm+zPJxki5JlSMi/lyuOOTW28uqoELaqAuEGcyQ1GsQmKRmSWeRbtTubfkI5rXdvvkI5h8DKedluETSRZLWHviUtIek24F3JcyxMzBN0utLcpwEdAL3pgoh6TeS1pu9Lu9eSlkgCmmjLhBmcDhwgqSbJO2Qz/N7LzAM2DdRhv2B7YF7JB0i6VNk03z+nWxayVT2I+v3v0fSRySdB1wDnBMRx6YKkY9zOAn4tqQrJE0lm3r1dRHxrVQ5gJ8Dt0g6Q1KjpEmSrgTOIruAYSqFtFEfgzDLSToV+BrwDHBEEVNJ5oXhPLJLOR8YEXM38JZK5TiV7NIf84ADImJeARk2A75JdqltAe+PiNsLyDGG7MD4oUAj2eU3vh8FbDxTt1HvQVjNk9Qg6XTg42R/tXYC50tKcuXSPMNYSd8jO53xSOBqsgvWHZIqQ55je2WX/D4Y2BU4F7hd0gkDv3Oj53g/WRfObLI9q3cA50i6vOQaUansRnaq8V1kp5luQeIzQAtroxHhm281fSPbVb8AGFOy7GjgQeDsRBlmA58BGkqW7UM29uBnCb+LWcC7+yybRNbV8teEOa4FpvRZJuDfgdkJc/wAuBt4bf58JFnR/AdweMIchbRRdzFZzZO0f0RMK7N8OHBmRJyRIMPk6Kc7SdLHIuL7lc6Qf9aoiCg7L7akwyLi5hQ5BiJpQkTMT/RZJwPnR0RXn+V7At+JiCRnmBXVRl0gzGwtST3X9OmKiKcGXLmyOT6YP1weEVcVlaPWeSS11TxJj5FdSmF+RKQ8Y6iqMuQuy+8XAO8uMMe2+f2LBWZA0o/Ifi5LIuLkAnMU0j68B2Fm1g9Jb8ofroqIvxcapgAuEGZmVpZPc7WaJ+nujbGO2abGexBW8yQtBx4ZaBWy0wsLn7THLCUfpDaDXQaxTteGV9l0SZoILIyIcvMRpMxxDPBMRNxZZI5a4QJhNS8i5hSdoT+SHsgfXhgRFxQY5Qpge0nXRMRnCszxGmBPSQ0RcVRRISSdDSwBfhARCwrMcTOwmqx9XL/R/313MZlVN0njyK7L9NuCcwjYLQq4RlW1kXQs2SVA9o6ID25o/QrmmARMJGsfF270f98FwsyqjaSD8oerIuKOQsPUMHcxmVWBahkoVy05yC5aCLCYbDrWQkj6Atn3sTQiUs7L0TfHLXmOhRGRbACj9yDMzPohqWfOh+URcWWBOXomLerq75pdleBxEGZVKp9BrXD5AdnCSfpT6s+MiMvy29riUMDlxomIOfltbXGQ9PZKf667mMyqgKRP910EnC6pGSBV94ak88vk+ICkUXmOTybKMbNMjp16lkfEXolytJbJcZekfcl6YBYmyvHOMjku7JmiNiJ+WYnPdYEwqw5fAn4H3E/2yw9QD4xOnOOdwK3AH0pyvBdY71LTFfY48ALZ1J7L8yx/Bt6WOMfzQN/ToLcimyMigO0S5biSbO7p51j3cxlJ9n0EUJEC4WMQZlUgv8z2/wKPAl+KiGWSZkdEqg1QT47RwFeAzYFTI+KpInLkWd4BnAycGxHXFfR9fAY4jOy7uDdf9lhEbDvwOzd6jg7g62QzDX43IiJFDh+DMKsCEfFEfnbK34CbJBVyqe2IeDEi/gv4H+DH+QaykO1ERPwKOAp4s6TrgKYCMpwL/CvweUn/mxfQ5H9VR8RU4J/IvoM/STogRQ7vQZhVGUkjyLqcXhMRB21o/QrmENn8x6+NiPcXlSPPsnee47sFZngbcAbQFhFbFphjEvAtoL3Se1QuEGZVYANTfW4fEY8myrF1RDzZz2tvjIg/J8rxroi4pszyJuC0iPhKihxlPn84sH1E3Jf4c+sioruf18ZGxOJKfK67mMyqwwxJ7yldIKlZ0llkBydTuU3SZ3vOjslzbCHpx2THSFI5UdINktb2sUs6EpgJjEsVQtK3824lACJieUTcJ2mX/DpIqXRKWm/goqR/JTtgXhEuEGbV4XDgBEk3Sdohv2rpvcAwYN+EOfYnu8bQPZIOkfQp4C7g72QXyksiIo4ALgdulvQVSb8CzgSOz4+RpPIMMF3S+yDr/pN0DnAdsNGvfTSATwIXS/q+pFZJ+0r6O3AEULFuSHcxmVURSacCXyPbMB1R1IXx8sJwHjCP7EJwyUbvlmSoJzsW819kl9w4JCIeLiDHtsAFZKccTyI75fSsiFiWOEfP9/EJYCnw0Yj4QyU/03sQZlVAUoOk04GPkx0Y7gTOl7Rz4hxjJX2P7FpIR5KdVnmDpEMS53gDcA9Zd9LWwH8Av5H0ZUnDUmZh3dlCDWTbzAdSF4fcccA/AxcBTwPHlxnIt3FFhG+++Vbwjaw76QKymet6lh0NPAicnTDHbOAzQEPJsn3ITr/9WcIcncABfZaNAL4BPJgwx5nALLKuLcgGyV0N3EZ26fNUOW4GfgNsmz8X8J9k42ZOrNTnuovJrApI2j8i1hutnJ81c2ZEnJEox+TopztJ0sci4vuJcgx01s6uEfFAudcqkOP/yL7/F/ssPwr434jYNVGOd0Q2LqTv8i2B/4mIf6nI57pAmFm1GQrzQUgaFgVPwVppvhaTWRWolnkYqiUH1TMfxOfzh+vNB5GyOHg+CDOzKlPr80G4QJiZWVk+zdWsCkja4GjYwaxjtjF5D8KsCkhaDjwy0Cpkp8BukyiSmQ9Sm1WJXQaxTlfFU1Q5Se3A0xHxVNFZaoH3IMxsgyT1jDu4MCIuKDDHZcBewMMRcXyBOU4CFgDXRMSaAnNcBiwj+7ls9CvMukCY2aBIGkd2XabfVkGW0X0HryX+/E+Q7fVNiYi3F5ijA9iGbNT5aRv933eBMLNqk0/BCtlpne5OKogLhJmtVS0D5fKBYQALUg4MK5Pjg/nD5RFxVYE5fkT2c1kSESen+lwfpDaztSJi2w2vVXkRcXDRGXI930fZ2f4SujS/X5XyQ70HYWa95N07L0TEYkltQDvZFVSTTbOZTy36XmBeRNycT9jzOuAB4OKIWJ0qS7WSND4inq/kZ3ignJmtJelzZJeyviOfzvL3wFHALyR9OmGUHwFvBT4l6QqyuRDuBDqAH6QKIWk7ST+UdJakUfmMbvdJuiovnqlyHCXpMUl/yWeTux+4U9JcSYdW7HO9B2FmPfINTzvZ3AuPA9tFxHxJI4E7I2KPRDlmRsRe+dzYTwGTIqJLkoAZEbFXohy3Az8DxgDvJytcV5JNEfsvEZFkIiVJ08kmCxoLXA+8NSLukLQr8JOI2K8Sn+tjEGZWqisilktaBSwnO9efiHgp2zYnU5d3M40kK1ZjgIVkc3Q3JswxOiIugmzsQ0T8T778Ekn/kTBHd88cGJKW9VwCPSIekFSxniAXCDMrdbekn5JtmP8IXCbp98AhwEJkbXUAAA36SURBVD8S5riEbDa9euAM4CpJs4EDgV8kzNEtaSeyAjVCUntEdEraIc+WymJJHwc2AxZJOplsT+YwKngA3V1MZrZW3qVzHNkplVcDBwDvA54gG637UsIskwAiYp6ksWQbwyci4q6EGQ4FvgN0Ax8DTgb2JttQnxgRv06UY2uy6U+7gS+RdTd9FJgDfKZSM+y5QJjZWpJGRUTZv0glbR8RjybK0RERU/t57QMRcUWKHP18/nhgUURUxbWxJDVU6nIfPovJzErNkPSe0gWSmiWdRXZGUyqXSLoo33PoybFHftD4XalCSDqlbx9/fmrpWEmXJMzxm5JJg0qXHwpMr9TnukCYWanDgRMk3SRpB0nHAPeSHRzeN2GO/ci6te6R9BFJ5wG/BM6JiGMT5tiZ7LjM63sW5Bfqm0b2vaTyc+AWSWdIapQ0SdKVwFeBD23gva+Yu5jMbD2STgW+BjwDHBER9xeY4xvAPLIL0s0rIMPrgAuA+8ku0PcIcEpEPJ04xxjgHOBQsjO5vgp8Pyq4EfcehJmtJalB0unAx4GTgE7gfEk7J86xvaQbgYOBXYFzgdslnZAyR+4+YCpwELAF8N3UxSG3G9lJA3cBK/MsFT0T1QXCzErdA2wF7B8RF+fdOecB10o6O2GOG8n+On5LRDwUEd8i20AfIemvqUJIej9ZH/9sYHvgHcA5ki6XtHnCHD8ALgROioj3kXX3jSE7ZnR4xT7XXUxm1kPS/hExrczy4cCZEXFGohwDnU11WETcnCjHtcAnI2JOyTIB/wacGhHbJcpxMnB+3zOnJO0JfCci3liRz3WBMLNqMxTmg5A0ISLmF52jklwgzGwtzwexXg7PB2FmBp4Pooye76Ow6U1zl+b3ng/CzOz/t3f/sX7V9R3Hny+ogRpqEcWEIh2zbLSIiu0ApQRla+hAM+oEBihoNQhD549AHQjRZTIZiLAYNhgC0TkhEzApQazSWWgkUoFLf1BEUWQQaxNLpVpWFG5e++N8Lvvm5nxvW7jnfM+9fT2Sb+75nu/ne97v+6V83/dzPud8PjF4uYopIl4kaWg82sTkkB5ERLxI0jaqG8H6NgGm2545RpuYJDIGERG9Zu9Am4FNUidpP2Cz7d8PKoddSXoQETFhSFpOdcPabbbPH2AeJwIbba8aVA4ljy8AW4DrbT893sdPDyIiJgzbC8qNaocMOJUjgTeVqbaPH2AeP6IqmFcBZ26n7U5LDyIiImqlBxERndOhG/aOKZt/GFkHekB5fI7q89hq+8q24qZARETndOWGPWBk9thngIEVCOCJ8nNbm0FziikiOkvSnwEHAC8Aj9l+dMAp7VJSICKicyS9A/gS1V/u84B7gVcDzwNn2H6qxVxGpvl+sVABN9ve0mIOu1GtHPfeUXlca/vupuLmTuqI6KJ/AY63vYBq+dHnbc+nWkWtzbWgPwFcC+wJHA5MpfqC/qGkd7aVB9Xv/EfAPwMrgG+XfRdL+rumgqYHERGdI2mt7TeX7d2B+23PLc/X235jS3msAw6zPSzplcCdtt9ZpiNfaruVdbp7P4/y/D7bb5O0B7Da9pwm4qYHERFd9ICkGySdDtwE3A1QvqR3bzmXkYt59gCmAdh+kmpd6LY8X051IWkuZVbXckd5Y3/l5yqmiOiis4GzgKOA5cCNZb+BhS3mcT1wv6T7qJY8vQyqxYKAzS3msQRYIek5qsJ0ak8edzQVNKeYIqJztrPk6CzbP28xlzcCc4CHB3kVVbmD/DW2N7UVM6eYIqKL1kg6pXeHpD0lXQIsaysJSYfbXm/71tHFQdIZLeZxHtUf9JtG7X+NpMYG7VMgIqKLjgMWS7pL0kFlcrx1VOMArQwMFzdIukbS3iM7JB0qaSXVJadtORgYkjS/J49zgQeoPpdG5BRTRHSWpCXApcBGYKHt9S3Hn0J1/v8jwOeBNwEnAOfZbuzcf59cjgKuBtZTTcv+WMnjV43FTIGIiK7p+WL+MHA51ZfyNOBc2z8ZQD5LqAaoNwBH2N4wgBxeBXwR+EuqhZveb3tlkzFziikiuughYH9gnu3rbC+imtJ6aVkDoRWSZkn6LnAs1UD1FcBKSYvHfue45/F+YDXwONX03u8BLpf0H5Je11jc9CAiomskzbP9YM3+qcDFti9qKY+fARfYvrVn3wzgSuCAcnd3G3ksBT5u+3969gk4B1hi+w2NxE2BiIiot53LbRfYXt52TjV57Gv7140cOwUiIrqmQ+tBzCybw7Z/OcA8RlaL22b7lrbi5k7qiOicDq0H8bXy82ngpAHmMfJ5/K7NoOlBRERErVzFFBGdI2loPNrEy5MeRER0jqRtVDeC9W0CTLc9c4w28TJlDCIiumj2DrQZbjyLXVx6EBERO0nSfsDmsh7DIPM4Edhoe1UTx88YRETEzvs68KikKwacx5FUy45+p4mDpwcREfESlDuZD2l7AsE2pUBERHScpGPK5h9s39dW3AxSR0T00ZU7uoGRyQGfAVorEOlBRERErQxSR0T0IenNg84BQNLHJb2+9bjpQURE1JM0DPwCuBm42fYjA8pjC/As8POSyy1NzeDaKz2IiIj+1gKLqL4rb5e0RtIFkg5sOY/HgddTLXs6D3hE0jJJH5A0ramg6UFERPQhacj23J7nRwCnAicDT9k+akB5vAI4HjgNWGB730bipkBERNST9JDtt9bsF3CM7XsGmUd5bartbY3ETYGIiKgn6XTbN3Ugjz+1/dO242YMIiKiv9v7vSBpVot5TB8jjzOaCpoCERHR3xpJp/TukLSnpEuAZS3mcYOkayTt3ZPHoZJWAu9tKmgKREREf8cBiyXdJemgMnvqOmAPoHZMoCFzgSeBhyR9SNJVwG3A5bYXNRU0YxAREdshaQlwKbARWDioCfpKHpcBG4AjbG9oMl56EBERfUiaIulC4GzgXOAB4MuSDm45j1mSvgscC8wBrgBWSlo89jtfZtz0ICIi6klaB9wDXGR7S9n3bqov6G/Z/kxLefwMuMD2rT37ZgBXAgfYnt9I3BSIiIh6kubZfrBm/1TgYtsXtZTHXra39nltge3ljcRNgYiI6DZJM8vmsO1fthY3BSIiol5X1oOQtKJsPm37pNbipkBERESdXMUUERG1UiAiIvqQNDQebSaqnGKKiOhD0jbgsbGaANNtzxyjzYQ1ZdAJRER02OwdaDPceBZ9SNoP2Gz7940cPz2IiIiJSdJyYBZwm+3zx/34KRARERNXWbzokCbmh0qBiIiIWhmDiIjouEHdsJceRERE1Mp9EBERE4ykvSTN7V1hrgkpEBERHSfp33q2jwYeAb4ErJN0QlNxMwYREdF9b+vZ/jywyPaQpDcA3wTubCJoehARERPLq2wPAdh+HNi9qUDpQUREdN9sSWuppvY4UNKrbf9G0m7AK5oKmgIREdF9c0Y9H1ldbh/gs00FTYGIiOi+p+uWHLW9SdKapoJmDCIiovvWSDqld4ekPSVdAixrKmgKRERE9x0HLJZ0l6SDJJ0IrAP2AN7aVNDcSR0RMUFIWgJcCmwEFjYxQV+v9CAiIjpO0hRJFwJnA+cCDwBflnRwk3FTICIiuu8hYH9gnu3rbC8CrgKWSvpCU0FTICIiuu+Dtj9me8vIDtt3UI0/NDZOkDGIiIiolfsgIiI6LutBREREp2QMIiIiaqVARER0nKSh8Wiz03FziikiotskbQMeG6sJMN32zPGMm0HqiIjum70DbYbHO2h6EBERUStjEBERUSsFIiIiaqVARERErRSIiO2QtLX8nCHp1u20/aSkV7aT2YsxD5N0QpsxY9eQAhG7JEm77+x7bG+wfdJ2mn0S2KkC8VJyGeUwoLZASMqVivGS5R9PTDqSDqRahnEV1WyXPwXOBB4BbqRanetqSfcD/wrsC/wvcJbtRyX9MXAT1f8fy0Yd9w7bh5Yv9cuAhVRz5HyF6lr0GcAKSZtsHyvpNOAz5bVv2/77cqytwJXl/edJejfwV8ALwPdsn9/ndzsZ+BzVJY1bgAXAPwJTJR1NtZjMnJLHgcAm4PSX9knGLs92HnlMqgfVF6OB+eX5jcD5wBPAp3va/TfwJ2X7SOD7Zft24Myy/VFga89xHy7bfwvcBkwpz/cpP58AXlu2ZwBPUhWgKcD3gUXlNQOnjLwX+An/f9n53mP8buuA/XvbAR8Eru5p8w/Ag8DUQf+3yGNiP3KKKSarp2zfW7b/Ezi6bP8XgKS9gKOAWyStBv4d2K+0mQ/cXLa/3uf4C4Brbb8AYHtzTZvDgbtt/7q0+wZwTHltmKrAAPwWeA64XtJfU/Vm+rkX+Kqks4CxTk3dbnvbGK9HbFdOMcVkNfoO0JHnz5afuwHP2D5sB98/mnawTT/P2R4GsP2CpCOAvwBOBT4G/HltUvY5ko4E3gWsltQv/2f77I/YYelBxGQ1U9Lby/ZpwA96X7T9W+AX5Zw+qrylvHwv1Rc1wPv6HP97wDkjg8CS9in7fwdMK9urgHdIem0ZszgNuGf0gUpvZrrtO6kGuft96SNplu1Vtj9LNb5wwKiYEeMmBSImqx8DH5C0luoc/zU1bd4HfFjSGmA9cGLZ/wngo2UQe3qf419PNb6wtrx/ZCD4OuA7klbY/hVwIbACWAMM2V5ac6xpwB0l13uAT43xe31R0jpJDwMry3FXAIdIWi3pb8Z4b8ROyVxMMen0Xm004FQiJrT0ICIiolZ6EBEdJOki4ORRu2+x/U+DyCd2TSkQERFRK6eYIiKiVgpERETUSoGIiIhaKRAREVHr/wCghTG2LW14ywAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>aic</th>\n",
       "      <th>predictors</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>271.223347</td>\n",
       "      <td>[X6, X, X2, X3]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          aic       predictors\n",
       "4  271.223347  [X6, X, X2, X3]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# adjr2\n",
    "# ------------------------------------------------\n",
    "display(HTML('<h4>Adjusted R^2</h4>'))\n",
    "scorer = 'rsquared_adj'\n",
    "subset_analysis(forward_stepwise(X, y, scorer=scorer), scorer)\n",
    "\n",
    "# Bayes' Information Criteria (BIC)\n",
    "# ------------------------------------------------\n",
    "display(HTML('<h4>Bayes\\' Information Criteria</h4>'))\n",
    "scorer = 'bic'\n",
    "subset_analysis(forward_stepwise(X, y, scorer=scorer), scorer)\n",
    "\n",
    "# Akaike's Information Criteria (AIC/ C_p)\n",
    "# ------------------------------------------------\n",
    "display(HTML('<h4>Akaike\\'s Information Criteria</h4>'))\n",
    "scorer = 'aic'\n",
    "subset_analysis(forward_stepwise(X, y, scorer=scorer), scorer)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Backward stepwise selection"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 225,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<h4>Adjusted R^2</h4>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rsquared_adj</th>\n",
       "      <th>predictors</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.989431</td>\n",
       "      <td>[X, X2, X4, X5, X6, X7, X9]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   rsquared_adj                   predictors\n",
       "3      0.989431  [X, X2, X4, X5, X6, X7, X9]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<h4>Bayes' Information Criteria</h4>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>bic</th>\n",
       "      <th>predictors</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>291.450514</td>\n",
       "      <td>[X, X2, X5, X6, X7, X9]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          bic               predictors\n",
       "4  291.450514  [X, X2, X5, X6, X7, X9]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<h4>Akaike's Information Criteria</h4>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>aic</th>\n",
       "      <th>predictors</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>273.214322</td>\n",
       "      <td>[X, X2, X5, X6, X7, X9]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          aic               predictors\n",
       "4  273.214322  [X, X2, X5, X6, X7, X9]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# adjr2\n",
    "# ------------------------------------------------\n",
    "display(HTML('<h4>Adjusted R^2</h4>'))\n",
    "scorer = 'rsquared_adj'\n",
    "subset_analysis(backward_stepwise(X, y, scorer=scorer), scorer)\n",
    "\n",
    "# Bayes' Information Criteria (BIC)\n",
    "# ------------------------------------------------\n",
    "display(HTML('<h4>Bayes\\' Information Criteria</h4>'))\n",
    "scorer = 'bic'\n",
    "subset_analysis(backward_stepwise(X, y, scorer=scorer), scorer)\n",
    "\n",
    "# Akaike's Information Criteria (AIC/ C_p)\n",
    "# ------------------------------------------------\n",
    "display(HTML('<h4>Akaike\\'s Information Criteria</h4>'))\n",
    "scorer = 'aic'\n",
    "subset_analysis(backward_stepwise(X, y, scorer=scorer), scorer)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Comment:**\n",
    "\n",
    "Forward stepwise selection chooses the same models as best susbset selection for all metrics.\n",
    "\n",
    "Backward stepwise selection tends to select overly complex models in this setting with 3-4 superfluous features depending on the metric used. \n",
    "\n",
    "**Revision note:** It seems somewhat down to chance as to which approach – forward or backward – will work best in a giving setting. In reality without simulation we won't have the luxury of knowing the true optimum, so how do we choose?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### (e) Now fit a lasso model to the simulated data, again using X,X2, . . . , X 10 as predictors. Use cross-validation to select the optimal value of λ. Create plots of the cross-validation error as a function of λ. Report the resulting coefficient estimates, and discuss the results obtained."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 344,
   "metadata": {},
   "outputs": [],
   "source": [
    "def mse(y_hat, y):\n",
    "    \"\"\"Calculate Mean Squared Error\"\"\"\n",
    "    return np.sum(np.square(y_hat - y)) / y.size\n",
    "\n",
    "def lasso_cv(X, y, λ, k):\n",
    "    \"\"\"Perform the lasso with \n",
    "    k-fold cross validation to return mean MSE scores for each fold\"\"\"\n",
    "    # Split dataset into k-folds\n",
    "    # Note: np.array_split doesn't raise excpetion is folds are unequal in size\n",
    "    X_folds = np.array_split(X, k)\n",
    "    y_folds = np.array_split(y, k)\n",
    "    \n",
    "    MSEs = []\n",
    "    for f in np.arange(len(X_folds)):\n",
    "        # Create training and test sets\n",
    "        X_test  = X_folds[f]\n",
    "        y_test  = y_folds[f]\n",
    "        X_train = X.drop(X_folds[f].index)\n",
    "        y_train = y.drop(y_folds[f].index)\n",
    "        \n",
    "        # Fit model\n",
    "        model = linear_model.Lasso(alpha=λ, fit_intercept=True, normalize=False, max_iter=1000000).fit(X_train, y_train)\n",
    "\n",
    "        # Measure MSE\n",
    "        y_hat = model.predict(X_test)\n",
    "        MSEs += [mse(y_hat, y_test['y'])]\n",
    "    return MSEs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 346,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "lambdas = np.arange(0.01, 1, 0.01)\n",
    "MSEs    = [] \n",
    "for l in lambdas:\n",
    "    MSEs += [np.mean(lasso_cv(X, y, λ=l, k=10))]\n",
    "\n",
    "sns.scatterplot(x='λ', y='MSE', data=pd.DataFrame({'λ': lambdas, 'MSE': MSEs}));"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 347,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1.8145436278960585, 0.19)"
      ]
     },
     "execution_count": 347,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "min(zip(MSEs, lambdas))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 348,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>feature</th>\n",
       "      <th>coefficient</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>X</td>\n",
       "      <td>1.823572</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>X2</td>\n",
       "      <td>0.454881</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>X3</td>\n",
       "      <td>1.802128</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>X4</td>\n",
       "      <td>0.847043</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>X5</td>\n",
       "      <td>0.373082</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>X6</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>X7</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>X8</td>\n",
       "      <td>-0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>X9</td>\n",
       "      <td>-0.009186</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>X10</td>\n",
       "      <td>-0.002988</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  feature  coefficient\n",
       "0       X     1.823572\n",
       "1      X2     0.454881\n",
       "2      X3     1.802128\n",
       "3      X4     0.847043\n",
       "4      X5     0.373082\n",
       "5      X6     0.000000\n",
       "6      X7     0.000000\n",
       "7      X8    -0.000000\n",
       "8      X9    -0.009186\n",
       "9     X10    -0.002988"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "lamb = min(zip(MSEs, lambdas))[1]\n",
    "model = linear_model.Lasso(alpha=lamb, fit_intercept=True, normalize=False, max_iter=1000000).fit(X, y)\n",
    "df = pd.DataFrame({'feature': X.columns, 'coefficient': model.coef_})\n",
    "# plot\n",
    "ax = sns.barplot(x='coefficient', y='feature', data=df);\n",
    "plt.xticks(rotation=90)\n",
    "plt.show();\n",
    "display(df)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here the Lasso selects the correct features plus 4 superfluous paramaeters – 2 of which have ver low coeeficients.\n",
    "\n",
    "\n",
    "#### Feature normalisation\n",
    "\n",
    "It is possible to get a lower MSE by enabling sklearns feature normalisation as demonstrated below, different features are then selected."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 349,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZIAAAEKCAYAAAA4t9PUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3X2UXFWZ7/HvL510aEJCYtIIphPIsHKRVrlE2qByr+SKL8HhEgHvCCgvXofAIHovigILGTWMi+HKLB2HF4kKGBARQZTFqBmHCWtmEBk6hgQCBgKOphOQCEmMIaRp6rl/1KnmpFLd1emq0/X2+6xVK6fO2ef03unuenrv5+x9FBGYmZmN1rhaV8DMzBqbA4mZmVXEgcTMzCriQGJmZhVxIDEzs4o4kJiZWUUcSMzMrCIOJGZmVhEHEjMzq8j4WldgLMyYMSMOOeSQWlfDzKyhrFy58g8R0VmuXEsEkkMOOYTe3t5aV8PMrKFI+u1Iynloy8zMKuJAYmZmFXEgMTOzijiQmJlZRRxIzMysIg4kZmZWEQcSMzOriAOJmZlVxIHEzMwq4kBiZmYVcSAxM7OKZBpIJC2UtE7SekmXlDh+sKT7JK2RdL+krmT/kZIelLQ2Ofbh1Dk3S/qNpEeS15FZtsHMzIaXWSCR1AZcCxwPdAOnSeouKnY1sCwijgCWAFcm+18CzoyINwELga9Jmpo677MRcWTyeiSrNpiZWXlZ9kjmA+sj4pmI6AduBxYVlekG7ku2VxSOR8STEfFUsr0JeB4ou5SxmVm9yuWCzdt3sXHLS2zevotcLmpdparJMpDMBDak3vcl+9JWA6ck2ycBkyVNTxeQNB9oB55O7f5yMuT1VUkTq1ttM7PqyuWCdb/fzknXPcAxV63gpOseYN3vtzdNMMkykKjEvuL/tYuAYyWtAo4FNgIDgxeQDgJuAT4WEblk96XAG4G3Aa8DLi75xaXFknol9W7evLmihpiZVeKFHf2cs6yXvi07AejbspNzlvXywo7+GtesOrIMJH3ArNT7LmBTukBEbIqIkyNiHnBZsm8bgKQpwD8Cn4+IX6bOeTbydgE3kR9C20NELI2Inojo6ez0qJiZ1U7/wKuDQaSgb8tO+gderVGNqivLQPIwMFfSHEntwKnAPekCkmZIKtThUuDGZH87cDf5RPwPis45KPlXwAeBxzJsg5nZqBXyIgBd0zp2O9Y1rYP28W21qFbVZRZIImIAuABYDjwB3BERayUtkXRiUmwBsE7Sk8DrgS8n+/8CeBdwdonbfL8r6VHgUWAG8DdZtcHMbLTSeZELblvFVz50xGAw6ZrWwTfP7GH6pPYa17I6FNEcyZ7h9PT0hJ/ZbmZjafP2XZx03QODQ1rzZk3lU8fN5dAD9qNjQhvTJ7UzblypVHL9kLQyInrKlfPMdjOzDBTnRVZt2MrHbn6YNkHn5Il1H0T2hgOJmVkVtUpeJM2BxMysSlopL5I2vtYVMDNrFun5In1bdvL/fraOKxa9uaHyIqPhHomZWZW0Ul4kzYHEzKxCrZgXSXMgMTOrQKvmRdKcIzEzq0Cr5kXS3CMxM6tAq+ZF0hxIzMxGKZcLJLVkXiTNgcTMbBQKuZEv3vMYV53SenmRNOdIzMxGIZ0b2by9n8tP6Gb6pHbeMLWDA6fs0xJDWgUOJGZmo5DOjazasJVzb1kJwAMX/4+WCiLgoS0zs73S6nNGSnEgMTMbIc8ZKc1DW2ZmI+Q5I6W5R2JmNkKeM1JapoFE0kJJ6yStl3RJieMHS7pP0hpJ90vqSvYfKelBSWuTYx9OnTNH0kOSnpL0/eT57mZmmXFeZHiZBRJJbcC1wPFAN3CapO6iYlcDyyLiCGAJcGWy/yXgzIh4E7AQ+Jqkqcmxq4CvRsRcYAvw8azaYGbmvEh5WeZI5gPrI+IZAEm3A4uAx1NluoELk+0VwI8AIuLJQoGI2CTpeaBT0jbg3cDpyeHvAF8Ers+uGWbWypwXKS/Loa2ZwIbU+75kX9pq4JRk+yRgsqTp6QKS5gPtwNPAdGBrRAwMc00zs6pxXqS8LANJqf/dKHp/EXCspFXAscBGoBAkkHQQcAvwsYjIjfCahXMXS+qV1Lt58+bR1N/MWpjzIiOXZSDpA2al3ncBm9IFImJTRJwcEfOAy5J92wAkTQH+Efh8RPwyOeUPwFRJ44e6ZuraSyOiJyJ6Ojs7q9UmM2sBzovsnSxzJA8DcyXNId/TOJXXchsASJoBvJj0Ni4Fbkz2twN3k0/E/6BQPiJC0grgQ8DtwFnAjzNsg5m1IOdF9k5mPZIkj3EBsBx4ArgjItZKWiLpxKTYAmCdpCeB1wNfTvb/BfAu4GxJjySvI5NjFwOflrSefM7k21m1wcxak/MieyfTme0R8RPgJ0X7/jq1fSdwZ4nzbgVuHeKaz5C/I8zMrKpyueCFHf1AfggrHUycFxmaZ7abmeG8SCW81paZGc6LVMI9EjMznBephAOJmbU8P3u9Mg4kZtbS/Oz1yjlHYmYtzc9er5wDiZm1ND97vXIe2jKzluS1tKrHgcTMWo7njFSXh7bMrOV4zkh1uUdiZi3Hc0aqy4HEzFqG8yLZcCAxs5bgvEh2nCMxs5bgvEh23CMxs6ZWGM56qX/AeZGMOJCYWdNKD2f9+rntzotkxIHEzJpWejjrG/c/7bW0MpJpjkTSQuDvgTbgWxHxt0XHDyb/nPZO4EXgoxHRlxz7GfB24N8j4oTUOTcDxwLbkl1nR8QjWbbDzBpT8fInVy9fx+UndHP4gZPpaB/vvEiVZNYjkdQGXAscD3QDp0nqLip2NbAsIo4AlgBXpo59BThjiMt/NiKOTF4OIma2m6Fu8121YStX3Ps4He3jnRepoiyHtuYD6yPimYjoB24HFhWV6QbuS7ZXpI9HxH3A9gzrZ2ZNyLf5jr0sh7ZmAhtS7/uAo4vKrAZOIT/8dRIwWdL0iHihzLW/LOmvyQehSyJiV3EBSYuBxQCzZ88eXQvMrOH4Nt+xl2WPpNR3KoreXwQcK2kV+bzHRmCgzHUvBd4IvA14HXBxqUIRsTQieiKip7Ozc68qbmaNKZcLdr7i23zHWpaBpA+YlXrfBWxKF4iITRFxckTMAy5L9m1jGBHxbOTtAm4iP4RmZi2uMKT19PM7fJvvGMsykDwMzJU0R1I7cCpwT7qApBmSCnW4lPwdXMOSdFDyr4APAo9VtdZm1pAKQ1pfv+8p3+Y7xjLLkUTEgKQLgOXkb/+9MSLWSloC9EbEPcAC4EpJAfwr8InC+ZL+jfwQ1n6S+oCPR8Ry4LuSOskPnT0CnJdVG8yscRRu9e3bsnPwNt+pHRPomtbBQft3eEgrQ4ooTls0n56enujt7a11NcwsA7lc8MKOfvoHXuXDS3+5W36ka1oHd59/DJ2TJ9awho1L0sqI6ClXzjPbzaxh+Vbf+uDVf82sYflW3/rgHomZNSw/6bA+OJCYWcPxkw7riwOJmTUU50Xqj3MkZtZQnBepP+6RmFlD8JMO65cDiZnVPT/psL45kJhZ3fOTDuubcyRmVrcKs9bTw1l+0mH9cY/EzOrScMNZftJhfXEgMbO65OGsxuGhLTOrO8UPqPJwVn1zj8TM6spQD6jycFb9ciAxs7riB1Q1Hg9tmVldKL5Dyw+oahyZ9kgkLZS0TtJ6SZeUOH6wpPskrZF0v6Su1LGfSdoq6d6ic+ZIekjSU5K+nzzG18wa2FB3aK3asJVzb1nJZ36wmvbxbQ4idSqzQCKpDbgWOB7oBk6T1F1U7GpgWUQcASwBrkwd+wpwRolLXwV8NSLmAluAj1e77mY2tnyHVmPLcmhrPrA+Ip4BkHQ7sAh4PFWmG7gw2V4B/KhwICLuk7QgfUFJAt4NnJ7s+g7wReD66lffzLLmCYfNIcuhrZnAhtT7vmRf2mrglGT7JGCypOnDXHM6sDUiBoa5ppk1AE84bB5ZBpJS3/koen8RcKykVcCxwEZgYI+z9u6a+YLSYkm9kno3b948kvqa2RjycFbzyHJoqw+YlXrfBWxKF4iITcDJAJL2A06JiG3DXPMPwFRJ45NeyR7XTF17KbAUoKenp2SwMbOx5+Gs5pNlj+RhYG5yl1U7cCpwT7qApBmSCnW4FLhxuAtGRJDPpXwo2XUW8OOq1trMMuPhrOaUWSBJegwXAMuBJ4A7ImKtpCWSTkyKLQDWSXoSeD3w5cL5kv4N+AFwnKQ+Se9PDl0MfFrSevI5k29n1QYzq47CQ6me3bbTw1lNSPk/8ptbT09P9Pb21roaZi2p0As5Z1kvf/e//isfXvrLwWPzZk3lvAWHejirTklaGRE95cp5iRQzy1Q6qb515ysezmpCDiRmlpniVXw9nNWchr1rS9JHI+LWZPuYiHggdeyCiLgm6wqaWWMqDGk9t+1luqZ10Ldl5+DdWVcsejOHHrAfHRPaPJzVBMr1SD6d2v6HomP/u8p1MbMmUJxYL17Fd/OfdnHg/vvQNbXDw1lNotw8Eg2xXeq9mbW44sS6V/FtDeV6JDHEdqn3ZtbihkqsexXf5lYukLwxWeL90dR24f1hY1A/M2sAheGs9Gx1J9ZbR7mhrcPHpBZm1rDSw1mXn9DtxHoLGrZHEhG/Tb+APwFvBWYk782sRY1ktroT662h3O2/9wKXRMRjkg4CfgX0AodKWhoRXxuLSppZfSmVVAcvvtiqyuVI5kTEY8n2x4CfR8T/BI7Gt/+atSzPVre0coHkldT2ccBPACJiO5DLqlJmVp+cVLdSyiXbN0j6JPlni7wV+BmApA5gQsZ1M7M64qS6DaVcj+TjwJuAs4EPR8TWZP/bgZsyrJeZ1ZnhnmjopHprG7ZHEhHPA+eV2L+C/AOmzKxF9A+86qS6lVTurq17hjseEScOd9zMmkMuF0gaHM6C15Lqd59/DJ2TJ9a4hlZL5XIk7wA2AN8DHsLra5m1nEJu5Ks/X8dVpxzBxXetoW/LTifVbVC5QHIg8F7gNOB04B+B70XE2pFcXNJC4O+BNuBbEfG3RccPJv+c9k7gReCjEdGXHDsL+HxS9G8i4jvJ/vuBg4CdybH3JUNwZpaBdG5k8/Z+Lj+hm+mT2nnD1A4OnLKPh7Os7Mz2VyPiZxFxFvkE+3rg/uROrmFJagOuBY4HuoHTJHUXFbsaWBYRRwBLgCuTc18HfIH8fJX5wBckTUud95GIODJ5OYiYZaDUrb6FxRc/9I0HiQgHEQNG8IRESRMlnQzcCnwC+DrwwxFcez6wPiKeiYh+4HZgUVGZbuC+ZHtF6vj7yU9+fDEitgA/BxaO4GuaWRUUhrNOuu4Bfv3c9t0mHEJ+rkj7+LYa1c7qzbCBRNJ3gF+Qn0PypYh4W0RcEREbR3DtmeTzKwV9yb601cApyfZJwGRJ00dw7k2SHpF0uST/SWRWZcPd6uvciBUrlyM5A9gB/BfgU6nPbAEREVOGObfUB3zxM0wuAq6RdDbwr8BGYKDMuR+JiI2SJgN3JXVctscXlxYDiwFmz549TDXNrCCXC17Y0b/HcJZv9bXhlMuRjIuIyclrSuo1uUwQgXwvYlbqfRewqej6myLi5IiYB1yW7Ns23LmF3lCyTMtt5IfQStV9aUT0RERPZ2dnmaqa2XDDWV4/y4ZTNkdSgYeBuZLmSGoHTgV2m5ciaYakQh0uJX8HF8By4H2SpiVJ9vcByyWNlzQjOXcCcALwGGa2VwqJ9I1bXuLFHbt4fvvLwy4H7+EsG065oa1Ri4gBSReQDwptwI0RsVbSEqA3Iu4BFgBXSgryQ1ufSM59UdIV5IMRwJJk3yTyAWVCcs1/Br6ZVRvMmlF6zazO/SbyuYWH8dk713g5eBs1RTT/o9d7enqit7e31tUwq7lcLnjujy/zFzc8SN+WndxwxlFcce/je2wXdE3r8Mz1FiZpZUT0lCuX5dCWmdWRQk9k09adg8FiascELwdvFctsaMvM6kvhlt70EvCFh1J5OXirhHskZk2ueIZ6uufxjfuf5isf8nLwVhn3SMyaWKmHUaUT6dMntTP7dfvyw/PfySsDOdrHuxdie889ErMmNtQM9cK8kEkTxzNjv4kcMHkfZk7b170QGxX3SMyakGeo21hyj8SsyXiGuo01BxKzJuMFF22seWjLrEl4OMtqxT0Ssybg4SyrJQcSswZWmCPiBRetljy0Zdag0nNEvOCi1ZJ7JGYNKp1ULyx1UuDhLBtLDiRmDSiXC3a+MuAFF60ueGjLrMEUhrSe2/ayF1y0uuBAYtYgCrf39g+8OvhQqqtOOYKL71pD35aduy246ABiY8mBxKwBlEqs923ZOZhUn9oxga5pHRy0v4OIjb1McySSFkpaJ2m9pEtKHD9Y0n2S1ki6X1JX6thZkp5KXmel9h8l6dHkml+X5N8aa3pDJdZXbdjKubes5DM/WE37+DYHEauJzAKJpDbgWuB4oBs4TVJ3UbGrgWURcQSwBLgyOfd1wBeAo4H5wBckTUvOuR5YDMxNXguzaoNZrRU/SwScWLf6k+XQ1nxgfUQ8AyDpdmAR8HiqTDdwYbK9AvhRsv1+4OcR8WJy7s+BhZLuB6ZExIPJ/mXAB4GfZtgOs5oo9SwRJ9atHmU5tDUT2JB635fsS1sNnJJsnwRMljR9mHNnJtvDXdOsKQy3+KKfZGj1JMseSamf7Ch6fxFwjaSzgX8FNgIDw5w7kmvmv7i0mPwQGLNnzx5Zjc3qgBdftEaTZY+kD5iVet8FbEoXiIhNEXFyRMwDLkv2bRvm3L5ke8hrpq69NCJ6IqKns7Oz0raYjQkvvmiNKMtA8jAwV9IcSe3AqcA96QKSZkgq1OFS4MZkeznwPknTkiT7+4DlEfEssF3S25O7tc4EfpxhG8zGhBdftEaW2dBWRAxIuoB8UGgDboyItZKWAL0RcQ+wALhSUpAf2vpEcu6Lkq4gH4wAlhQS78BfATcDHeST7E60W0Pz4ovW6BRRMsXQVHp6eqK3t7fW1TArafP2XZx03QP0bdnJDWccxRX3Pj4YTCDfE7n7/GPonDyxhrW0ViRpZUT0lCvnRRvNasiLL1oz8BIpZjXixRetWTiQmI0xL75ozcaBxGwMefFFa0bOkZiNgVK393rxRWsWDiRmGUtPMiz0QMCJdWseHtoyy1ipJeCdWLdm4h6JWUZGsgS8F1+0ZuAeiVkGvAS8tRL3SMyqaCRrZrkXYs3GPRKzKvGaWdaq3CMxq5KhnqsOXgLempsDiVkVeM0sa2Ue2jKrkNfMslbnQGI2Sl4zyyzPgcRsFLxmltlrnCMxG4WhEuteM8taUaaBRNJCSeskrZd0SYnjsyWtkLRK0hpJH0j2t0u6SdKjklZLWpA65/7kmo8krwOybINZ2khmqzuxbq0ms6EtSW3AtcB7gT7gYUn3RMTjqWKfB+6IiOsldQM/AQ4BzgGIiLckgeKnkt4WEbnkvI9EhJ+da2PKs9XNSsuyRzIfWB8Rz0REP3A7sKioTABTku39gU3JdjdwH0BEPA9sBco+N9gsC56tbja8LJPtM4ENqfd9wNFFZb4I/JOkTwKTgPck+1cDiyTdDswCjkr+/Y/k+E2SXgXuAv4mIqL4i0taDCwGmD17djXaYy3Is9XNysuyR1LqN6r4A/804OaI6AI+ANwiaRxwI/nA0wt8DfgFMJCc85GIeAvw35PXGaW+eEQsjYieiOjp7OysuDHWWso9iAo8W92sIMtA0ke+F1HQxWtDVwUfB+4AiIgHgX2AGRExEBEXRsSREbEImAo8lZTbmPy7HbiN/BCaWdX4QVRmeyfLoa2HgbmS5gAbgVOB04vK/A44DrhZ0uHkA8lmSfsCiogdkt4LDETE45LGA1Mj4g+SJgAnAP+cYRusxeRywXN/fNkPojLbC5n1SCJiALgAWA48Qf7urLWSlkg6MSn2GeAcSauB7wFnJ/mOA4BfSXoCuJjXhq8mAsslrQEeIR+gvplVG6y1FHoim7YO3QtxUt1sTyqRp246PT090dvru4WttPRSJx9e+ksuP6GbK+59fDCYzJs1lU8dN9e9EGs5klZGRNk7Zj2z3VpaqXyIeyFme8drbVlLKl5wMZ0PSd/aO31SO2+Y2sGBU/ZxADEbgnsk1jIKt/T+fttOnnjuj8PelVW4tXfSxPEOImZluEdiTa3Q88jlcvxhRz/n3rJytxyI78oyq5x7JNaUcrngxR27eOLZfM/jkb5tnHvLSvq27GRqxwTflWVWRe6RWNNJP7Hw8h8/tkfwcC/ErLrcI7GmUbysyb7tbXsED3AvxKza3COxhlYqB1JYXDHd8ygEj4vvWsOqDVv5zi9+w21/eTRt40T7ePdCzCrhQGINZ6QJdAcPs7HhQGINoVzwKJVAv/iuNYP5jzkzJrHvxDZmTPLQlVm1OZDUifQEOf+1vLviJxOWCh5OoJvVjpPtdSC9TMcxV63gpOseYN3vt5PLNf86aKUUkuYbt7zEizt27bYab6ngAU6gm9WSeyR14IUd/YMflPNmTeW8BYeyY9cAz/3x5ZaZVV1q6Kpzv4l8buFhTGgbV7Ln4RyIWX1wIKkD/QOvDgaRi95/GBfftYa+LTsHH5x02OsnN+UHYrm8x+UndPPZO9dw+QndDh5mdcyBpA60j2+ja1oH5y04dDCIAHTuN5Hntr3MpIltdExojmeC703SvLDt4GFW3xxI6sD0Se1888weduwa2O0ZGOneyfu6D+Dzf97dsB+euVywdWc/z259mXNvHTp4pIeuvBqvWWPINNkuaaGkdZLWS7qkxPHZklZIWiVpjaQPJPvbJd0k6VFJqyUtSJ1zVLJ/vaSvS2r4T5Nx48Rhr5/MG6Z2DCaL072TebOmctY753D6tx7imKtWcNnda+jb8tJgMvr57S+zcctLbN6+q64S9MWr7a7esI1zb91zvauhkubfuP9pvvIhr8ZrVu8y65FIagOuBd4L9AEPS7onIh5PFfs8+UfwXi+pG/gJcAhwDkBEvEXSAcBPJb0tInLA9cBi4JdJ+YXAT7Nqx1gZN04cOGUfvnlmD+cs693tg3aooFJIRn/2zjV07jeRTx03t+bzJYYbuirMOIeRJ8072tv44fnv5JWBXEP2xMxaQZZDW/OB9RHxDICk24FFQDqQBDAl2d4f2JRsdwP3AUTE85K2Aj2SNgBTIuLB5JrLgA/SBIEEXuuZ3H3+MfQPvDr4QTtUUCkkozv3mzjkMFhHexsDuaj6B3F63kvha0Quhs17+I4rs+aUZSCZCWxIve8Dji4q80XgnyR9EpgEvCfZvxpYlASfWcBRyb+55Drpa86ses1raNw40Tl5IrlcDPZO0h/ApZLRl5/QXbbHUkmAKQ4aQfDc1l2ce+vK3b5GubyHg4dZc8oykJT6RCgewD8NuDki/k7SO4BbJL0ZuBE4HOgFfgv8AhgY4TXzX1xaTH4IjNmzZ4+qAbWU7p3kcjluOOMozr1lZclkdLkey0iHxCZ3tPFqDl4ZyJXsZRTOe/mV3ODy7OmvMVTS3EuWmDW3LJPtfeR7EQVdvDZ0VfBx4A6AZLhqH2BGRAxExIURcWRELAKmAk8l1+wqc02S6y2NiJ6I6Ons7KxKg8ZaoXfy+v07OPzAKdx9/jEc2bU/N5xx1G7J6Jf6Xx1MVpfqscDuAea8BYfuNiR2+Y8f48LvP8KTz/2Jk6/7BRfctop1z23n5Ot+sdsDoQrnpZdnH0nSPN37uOb0ebx55v7Mft2+HDDZSXOzZpBlj+RhYK6kOcBG4FTg9KIyvwOOA26WdDj5QLJZ0r6AImKHpPcCA4UkvaTtkt4OPAScCfxDhm2oG4WgAtA5eZ/BPEphqOmGjx7FubeW7rGMZEgs3bMYqpdRKtfhvIeZZRZIImJA0gXAcqANuDEi1kpaAvRGxD3AZ4BvSrqQ/BDV2RERyZ1ayyXlyAehM1KX/ivgZqCDfJK9KRLteyMdVAqmdUzcYxis0GP57J1ryg6JDbVd6rx0wEh/DQcPs9akiPqZd5CVnp6e6O3trXU1xky5O6pK5TpuOOOowUR5ejs9MXIkuRUHD7PmIWllRPSULedA0jpGevdVte72MrPG5kCS4kAytFK9l/RdWw4YZq1rpIHEa221uFL5FjOzveEHW5mZWUUcSMzMrCIOJGZmVhEHEjMzq4gDiZmZVcSBxMzMKuJAYmZmFXEgMTOzijiQmJlZRRxIzMysIg4kZmZWEQcSMzOriAOJmZlVpCWWkZe0GfjtKE+fAfyhitWpN25fY3P7Glu9t+/giOgsV6glAkklJPWOZD3+RuX2NTa3r7E1S/s8tGVmZhVxIDEzs4o4kJS3tNYVyJjb19jcvsbWFO1zjsTMzCriHomZmVWkpQKJpIWS1klaL+mSEscnSvp+cvwhSYekjl2a7F8n6f0jveZYqnb7JM2StELSE5LWSvo/Y9eaPWXx/UuOtUlaJene7FsxtIx+PqdKulPSr5Pv4zvGpjV7yqh9FyY/m49J+p6kfcamNXsabfskTU9+z/4k6Zqic46S9GhyztclaWxas5cioiVeQBvwNPBnQDuwGuguKnM+8I1k+1Tg+8l2d1J+IjAnuU7bSK7Z4O07CHhrUmYy8GQztS913qeB24B7m+nnMzn2HeAvk+12YGqztA+YCfwG6EjK3QGc3YDtmwT8N+A84Jqic/4DeAcg4KfA8bX6GR3u1Uo9kvnA+oh4JiL6gduBRUVlFpH/xQO4Ezgu+QtgEXB7ROyKiN8A65PrjeSaY6Xq7YuIZyPiVwARsR14gvwvby1k8f1DUhfw58C3xqANw6l6+yRNAd4FfBsgIvojYusYtKWUTL5/wHigQ9J4YF9gU8btGMqo2xcROyLi34GX04UlHQRMiYgHIx9VlgEfzLQVo9RKgWQmsCH1vo89PxQHy0TEALANmD7MuSO55ljJon2Dkm74POChKtZ5b2TVvq8BnwNy1a/yXsmifX8GbAZuSobuviVpUjbVL6vq7YuIjcDVwO+AZ4FtEfFPmdS+vEraN9w1+8pcsy60UiApNbZYfMvaUGX2dn8tZNG+/EnSfsBdwP+NiD+OuoaVqXr7JJ0APB8RKyutXBVk8f0bD7wVuD4i5gE7gFrl8bL4/k0j/1f+HOANwCRJH62olqPXjS+gAAACSklEQVRXSfsquWZdaKVA0gfMSr3vYs9u8GCZpKu8P/DiMOeO5JpjJYv2IWkC+SDy3Yj4YSY1H5ks2ncMcKKk/yQ/FPFuSbdmUfkRyOrnsy8iCr3IO8kHllrIon3vAX4TEZsj4hXgh8A7M6l9eZW0b7hrdpW5Zn2odZJmrF7k/zp7hvxfL4Vk2JuKynyC3ZNhdyTbb2L3ZN8z5JNrZa/Z4O0T+XHZrzXj96/o3AXUNtmeSfuAfwMOS7a/CHylWdoHHA2sJZ8bEfn8wycbrX2p42ezZ7L9YeDtvJZs/0CtfkaHbX+tKzDG3+wPkL/z6GngsmTfEuDEZHsf4Afkk3n/AfxZ6tzLkvPWkbpzotQ1m6V95O8kCWAN8EjyqtkPchbfv9TxBdQwkGT483kk0Jt8D38ETGuy9n0J+DXwGHALMLFB2/ef5HsnfyLfE+lO9vckbXsauIZkEnm9vTyz3czMKtJKORIzM8uAA4mZmVXEgcTMzCriQGJmZhVxIDEzs4o4kJjViKR/kfSTZNKnWcNyIDGrkYh4N7CL/KKRZg3LgcSstn4KfKTWlTCrhCckmtWQpH8BjgJmRe0WxDSriHskZjUi6S3kF+67DTilxtUxGzX3SMxqRNK3gRXkn/L3pYh4T42rZDYqDiRmNSCpE3gQODwiXpH0FHBsRNTnMuFmw/DQllltnAt8K/LP0QD4Hvmlxc0ajnskZmZWEfdIzMysIg4kZmZWEQcSMzOriAOJmZlVxIHEzMwq4kBiZmYVcSAxM7OKOJCYmVlF/j+OQEbQq0QDIgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def lasso_cv(X, y, λ, k):\n",
    "    \"\"\"Perform the lasso with \n",
    "    k-fold cross validation to return mean MSE scores for each fold\"\"\"\n",
    "    # Split dataset into k-folds\n",
    "    # Note: np.array_split doesn't raise excpetion is folds are unequal in size\n",
    "    X_folds = np.array_split(X, k)\n",
    "    y_folds = np.array_split(y, k)\n",
    "    \n",
    "    MSEs = []\n",
    "    for f in np.arange(len(X_folds)):\n",
    "        # Create training and test sets\n",
    "        X_test  = X_folds[f]\n",
    "        y_test  = y_folds[f]\n",
    "        X_train = X.drop(X_folds[f].index)\n",
    "        y_train = y.drop(y_folds[f].index)\n",
    "        \n",
    "        # Fit model\n",
    "        model = linear_model.Lasso(alpha=λ, fit_intercept=True, normalize=True, max_iter=1000000).fit(X_train, y_train)\n",
    "\n",
    "        # Measure MSE\n",
    "        y_hat = model.predict(X_test)\n",
    "        MSEs += [mse(y_hat, y_test['y'])]\n",
    "    return MSEs\n",
    "\n",
    "lambdas = np.arange(0.001, 0.01, 0.0001)\n",
    "MSEs    = [] \n",
    "for l in lambdas:\n",
    "    MSEs += [np.mean(lasso_cv(X, y, λ=l, k=10))]\n",
    "\n",
    "sns.scatterplot(x='λ', y='MSE', data=pd.DataFrame({'λ': lambdas, 'MSE': MSEs}));"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 350,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.8894063503790959, 0.0022000000000000006)"
      ]
     },
     "execution_count": 350,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "min(zip(MSEs, lambdas))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 351,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>feature</th>\n",
       "      <th>coefficient</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>X</td>\n",
       "      <td>2.446150</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>X2</td>\n",
       "      <td>2.876938</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>X3</td>\n",
       "      <td>0.678915</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>X4</td>\n",
       "      <td>-0.218099</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>X5</td>\n",
       "      <td>1.698335</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>X6</td>\n",
       "      <td>-0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>X7</td>\n",
       "      <td>-0.503101</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>X8</td>\n",
       "      <td>0.028357</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>X9</td>\n",
       "      <td>0.047248</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>X10</td>\n",
       "      <td>-0.003263</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  feature  coefficient\n",
       "0       X     2.446150\n",
       "1      X2     2.876938\n",
       "2      X3     0.678915\n",
       "3      X4    -0.218099\n",
       "4      X5     1.698335\n",
       "5      X6    -0.000000\n",
       "6      X7    -0.503101\n",
       "7      X8     0.028357\n",
       "8      X9     0.047248\n",
       "9     X10    -0.003263"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "lamb = min(zip(MSEs, lambdas))[1]\n",
    "model = linear_model.Lasso(alpha=lamb, fit_intercept=True, normalize=False, max_iter=1000000).fit(X, y)\n",
    "df = pd.DataFrame({'feature': X.columns, 'coefficient': model.coef_})\n",
    "# plot\n",
    "ax = sns.barplot(x='coefficient', y='feature', data=df);\n",
    "plt.xticks(rotation=90)\n",
    "plt.show();\n",
    "display(df)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "With feature normalisation the model selects 6 superfluous feautures, 3 with significant coefficients.\n",
    "\n",
    "**Revision Notes:**\n",
    "\n",
    "- is the effect of feature normalisation significant?\n",
    "- if so, why does it have an effect?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### (f) Now generate a response vector Y according to the model $Y = β_0 + β_7 X^7 + ε$ , and perform best subset selection and the lasso. Discuss the results obtained.\n",
    "\n",
    "\n",
    "#### Create simulated data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 524,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "np.random.seed(1)\n",
    "x   = np.random.normal(0, 1, 100)\n",
    "eps = np.random.normal(0 ,1 , 100)\n",
    "\n",
    "y_np = 5 + 1.2*(x**7) + eps\n",
    "\n",
    "sns.scatterplot(x=x, y=y_np);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 525,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = pd.DataFrame({'X': x,\n",
    "                  'X2': x**2,\n",
    "                  'X3': x**3,\n",
    "                  'X4': x**4,\n",
    "                  'X5': x**5,\n",
    "                  'X6': x**6,\n",
    "                  'X7': x**7,\n",
    "                  'X8': x**8,\n",
    "                  'X9': x**9,\n",
    "                  'X10': x**10})\n",
    "y = pd.DataFrame({'y': y_np})"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Best subset selection"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 454,
   "metadata": {},
   "outputs": [],
   "source": [
    "def min_rss(statsmodels):\n",
    "    \"\"\"Return model with lowest Residual Sum of Squares (RSS)\"\"\"\n",
    "    return sorted(statsmodels, key=lambda tup: tup[1].ssr)[0]\n",
    "\n",
    "def max_adjr2(statsmodels):\n",
    "    \"\"\"Return model with max R-squared\"\"\"\n",
    "    return sorted(statsmodels, reverse=True, key=lambda tup: tup[1].rsquared_adj)[0]\n",
    "\n",
    "def min_bic(statsmodels):\n",
    "    \"\"\"Return model with min Bayes' Information Criteria\"\"\"\n",
    "    return sorted(statsmodels, reverse=False, key=lambda tup: tup[1].bic)[0]\n",
    "\n",
    "def min_aic(statsmodels):\n",
    "    \"\"\"Return model with min Akaike's Information Criteria\"\"\"\n",
    "    return sorted(statsmodels, reverse=False, key=lambda tup: tup[1].aic)[0]\n",
    "\n",
    "\n",
    "def get_models(k, X, y):\n",
    "    \"\"\"\n",
    "    Fit all possible models that contain exactly k predictors.\n",
    "    \"\"\"\n",
    "    # List all available predictors\n",
    "    X_combos = itertools.combinations(list(X.columns), k)\n",
    "    \n",
    "    # Fit all models\n",
    "    models = []\n",
    "    for X_label in X_combos:\n",
    "        # Parse patsy formula\n",
    "        X_smf = ' + '.join(X_label)\n",
    "        f     = '{} ~ {}'.format(y.columns[0], X_smf)\n",
    "        # Fit model\n",
    "        model = smf.ols(formula=f, data=pd.concat([X, y], axis=1)).fit()\n",
    "        # Return results\n",
    "        models += [(f, model)]\n",
    "    return models\n",
    "\n",
    "\n",
    "# Intended API\n",
    "# ----------------------------------------------\n",
    "\n",
    "def best_subset(X, y, scorer='ssr'):\n",
    "    \"\"\"Perform best subset selection using Residual Sum of Squares to\n",
    "    select best model in each subset.\n",
    "    Notes: highly computationally expensive for large number of features in  X\n",
    "    Maxes out my laptop for p > 14\"\"\"\n",
    "    # get all model results\n",
    "    model_subsets = []\n",
    "    for k in range(len(X.columns)):\n",
    "        k=k+1\n",
    "        subset = get_models(k, X, y)\n",
    "        model_subsets += [subset]\n",
    "        print('Best subset selected: k = {}/{}, done'.format(k, len(X.columns)))\n",
    "\n",
    "    # Select best in each subset using chosen scorer\n",
    "    if scorer == 'ssr':\n",
    "        # Get best rss score for each subset\n",
    "        return [min_rss(m) for m in model_subsets]\n",
    "    elif scorer == 'rsquared_adj':\n",
    "        # Get best rss score for each subset\n",
    "        return [max_adjr2(m) for m in model_subsets]       \n",
    "    elif scorer == 'bic':\n",
    "        # Get best rss score for each subset\n",
    "        return [min_bic(m) for m in model_subsets]\n",
    "    elif scorer == 'aic':\n",
    "        # Get best rss score for each subset\n",
    "        return [min_aic(m) for m in model_subsets]\n",
    "\n",
    "    \n",
    "def cross_val(formula, X, y, k):\n",
    "    \"\"\"Perform k-fold cross validation to return mean MSE score\n",
    "    Expects formula as Patsy formula\"\"\"\n",
    "    # Split dataset into k-folds\n",
    "    # Note: np.array_split doesn't raise excpetion is folds are unequal in size\n",
    "    X_folds = np.array_split(X, k)\n",
    "    y_folds = np.array_split(y, k)\n",
    "    \n",
    "    MSEs = []\n",
    "    for f in np.arange(len(X_folds)):\n",
    "        # Create training and test sets\n",
    "        X_test  = X_folds[f]\n",
    "        y_test  = y_folds[f]\n",
    "        X_train = X.drop(X_folds[f].index)\n",
    "        y_train = y.drop(y_folds[f].index)\n",
    "        \n",
    "        # Fit model\n",
    "        model = smf.ols(formula=formula, data=pd.concat([X_train, y_train], axis=1)).fit()\n",
    "        \n",
    "        # Measure MSE\n",
    "        y_hat = model.predict(X_test)\n",
    "        MSEs += [mse(y_hat, y_test['y'])]\n",
    "    return (MSEs, formula)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 455,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Best subset selected: k = 1/10, done\n",
      "Best subset selected: k = 2/10, done\n",
      "Best subset selected: k = 3/10, done\n",
      "Best subset selected: k = 4/10, done\n",
      "Best subset selected: k = 5/10, done\n",
      "Best subset selected: k = 6/10, done\n",
      "Best subset selected: k = 7/10, done\n",
      "Best subset selected: k = 8/10, done\n",
      "Best subset selected: k = 9/10, done\n",
      "Best subset selected: k = 10/10, done\n"
     ]
    }
   ],
   "source": [
    "# get all model results\n",
    "best_subset_models = best_subset(X, y, scorer='bic')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 456,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>formula</th>\n",
       "      <th>mse</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>y ~ X2 + X6 + X7</td>\n",
       "      <td>0.854173</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            formula       mse\n",
       "2  y ~ X2 + X6 + X7  0.854173"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "Intercept    5.271801\n",
       "X2          -0.320021\n",
       "X6           0.020727\n",
       "X7           1.203961\n",
       "dtype: float64"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Parse results\n",
    "best_subset_formula = [f[0] for f in best_subset_models]\n",
    "best_subset_mses    = [np.mean(cross_val(f, X, y, 10)[0]) for f in best_subset_formula]\n",
    "df = pd.DataFrame({'formula': best_subset_formula, 'mse': best_subset_mses})\n",
    "\n",
    "# Show chosen model\n",
    "display(df[df['mse'] == df['mse'].min()])\n",
    "best_subset_params = best_subset_models[2][1].params\n",
    "display(best_subset_params)\n",
    "\n",
    "# Plot mse across subsets\n",
    "ax = sns.lineplot(x='formula', y='mse', data=df, sort=False)\n",
    "plt.xticks(rotation=90)\n",
    "plt.show();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Best subset selection with 10 fold cross validation selects a the model, y ~ X2 + X6 + X7 with a MSE of 0.854. \n",
    "\n",
    "Because this is simulated data we know that the true model is:\n",
    "\n",
    "$f(x) = 5 + 1.2 x^7 + ε$\n",
    "\n",
    "Best subset selection estimates the f(x) to be:\n",
    "\n",
    "$f(x) = 5.27 - 0.32x^2 + 0.02x^6 + 1.20 x^7$\n",
    "\n",
    "...which is pretty close. Let's plot on the same axis to see how close"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 457,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.arange(-2.3, 2.3, 0.01)\n",
    "sns.lineplot(x=x, y=5 + 1.2*(x**7))\n",
    "sns.lineplot(x=x, y=5.27 - 0.32*(x**2) + 0.02*(x**6) + 1.20*(x**7));"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here we plot the actual values of y (blue) and the predicted values of y (orange) on the same axis. You can't see the actual line because th eprediction is so close."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### The Lasso"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 526,
   "metadata": {},
   "outputs": [],
   "source": [
    "def lasso_cv(X, y, λ, k):\n",
    "    \"\"\"Perform the lasso with \n",
    "    k-fold cross validation to return mean MSE scores for each fold\"\"\"\n",
    "    # Split dataset into k-folds\n",
    "    # Note: np.array_split doesn't raise excpetion is folds are unequal in size\n",
    "    X_folds = np.array_split(X, k)\n",
    "    y_folds = np.array_split(y, k)\n",
    "    \n",
    "    MSEs = []\n",
    "    for f in np.arange(len(X_folds)):\n",
    "        # Create training and test sets\n",
    "        X_test  = X_folds[f]\n",
    "        y_test  = y_folds[f]\n",
    "        X_train = X.drop(X_folds[f].index)\n",
    "        y_train = y.drop(y_folds[f].index)\n",
    "        \n",
    "        # Fit model\n",
    "        model = linear_model.Lasso(alpha=λ, fit_intercept=True, normalize=True, max_iter=1000000).fit(X_train, y_train)\n",
    "\n",
    "        # Measure MSE\n",
    "        y_hat = model.predict(X_test)\n",
    "        MSEs += [mse(y_hat, y_test['y'])]\n",
    "    return MSEs\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 527,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "lambdas = np.arange(0.01, 0.1, 0.001)\n",
    "MSEs    = [] \n",
    "for l in lambdas:\n",
    "    MSEs += [np.mean(lasso_cv(X, y, λ=l, k=10))]\n",
    "\n",
    "sns.scatterplot(x='λ', y='MSE', data=pd.DataFrame({'λ': lambdas, 'MSE': MSEs}));"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 528,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1.0480683621470148, 0.03799999999999998)"
      ]
     },
     "execution_count": 528,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "min(zip(MSEs, lambdas))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 529,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>feature</th>\n",
       "      <th>coefficient</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>X0</td>\n",
       "      <td>5.139609</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>X</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>X2</td>\n",
       "      <td>-0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>X3</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>X4</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>X5</td>\n",
       "      <td>0.038360</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>X6</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>X7</td>\n",
       "      <td>1.186933</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>X8</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>X9</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>X10</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   feature  coefficient\n",
       "0       X0     5.139609\n",
       "1        X     0.000000\n",
       "2       X2    -0.000000\n",
       "3       X3     0.000000\n",
       "4       X4     0.000000\n",
       "5       X5     0.038360\n",
       "6       X6     0.000000\n",
       "7       X7     1.186933\n",
       "8       X8     0.000000\n",
       "9       X9     0.000000\n",
       "10     X10     0.000000"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# What coefficients does the lasso choose for the optimal lambda value?\n",
    "λ = min(zip(MSEs, lambdas))[1]\n",
    "model = linear_model.Lasso(alpha=λ, fit_intercept=True, normalize=True, max_iter=1000000).fit(X, y)\n",
    "intercept  = pd.DataFrame({'feature': 'X0', 'coefficient': model.intercept_})\n",
    "lasso_a_df = intercept.append(pd.DataFrame({'feature': X.columns, 'coefficient': model.coef_}), ignore_index=True)\n",
    "ax = sns.barplot(x='coefficient', y='feature', data=lasso_a_df);\n",
    "plt.xticks(rotation=90)\n",
    "plt.show();\n",
    "\n",
    "display(lasso_a_df)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here the lasso selects almost the ideal model, with only one superfluous feature with a low coefficient. The MSE reported is marginally lower than for best subset selection at 1.048 compared to 0.854. \n",
    "\n",
    "Whilst searching for optimal value of lambda, I noticed another minima close to zero... deomonstrated below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 531,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>feature</th>\n",
       "      <th>coefficient</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>X0</td>\n",
       "      <td>5.275241</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>X</td>\n",
       "      <td>0.546472</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>X2</td>\n",
       "      <td>-0.261390</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>X3</td>\n",
       "      <td>-2.428896</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>X4</td>\n",
       "      <td>-0.088259</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>X5</td>\n",
       "      <td>2.363543</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>X6</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>X7</td>\n",
       "      <td>0.469777</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>X8</td>\n",
       "      <td>0.006829</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>X9</td>\n",
       "      <td>0.071042</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>X10</td>\n",
       "      <td>0.000378</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   feature  coefficient\n",
       "0       X0     5.275241\n",
       "1        X     0.546472\n",
       "2       X2    -0.261390\n",
       "3       X3    -2.428896\n",
       "4       X4    -0.088259\n",
       "5       X5     2.363543\n",
       "6       X6     0.000000\n",
       "7       X7     0.469777\n",
       "8       X8     0.006829\n",
       "9       X9     0.071042\n",
       "10     X10     0.000378"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "lambdas = np.arange(0.000001, 0.0005, 0.00001)\n",
    "MSEs    = [] \n",
    "for l in lambdas:\n",
    "    MSEs += [np.mean(lasso_cv(X, y, λ=l, k=10))]\n",
    "\n",
    "sns.scatterplot(x='λ', y='MSE', data=pd.DataFrame({'λ': lambdas, 'MSE': MSEs}))\n",
    "plt.show();\n",
    "\n",
    "# What coefficients does the lasso choose for the optimal lambda value?\n",
    "λ = min(zip(MSEs, lambdas))[1]\n",
    "model = linear_model.Lasso(alpha=λ, fit_intercept=True, normalize=True, max_iter=1000000).fit(X, y)\n",
    "intercept  = pd.DataFrame({'feature': 'X0', 'coefficient': model.intercept_})\n",
    "lasso_b_df = intercept.append(pd.DataFrame({'feature': X.columns, 'coefficient': model.coef_}), ignore_index=True)\n",
    "ax = sns.barplot(x='coefficient', y='feature', data=lasso_b_df);\n",
    "plt.xticks(rotation=90)\n",
    "plt.show();\n",
    "\n",
    "display(lasso_b_df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 532,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.8423025784930932, 0.00026100000000000006)"
      ]
     },
     "execution_count": 532,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "min(zip(MSEs, lambdas))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here the value of lambda is very close to zero and so we expect it behave like ridge regression – indeed there is a low proportion of zero value coefficients. \n",
    "\n",
    "The MSE is now lower 0.842 than that achieved for both best subset selection and the first version of lasso.\n",
    "\n",
    "#### But how do these various model estimates compare against the actual f(x)?\n",
    "\n",
    "Because data is simulated, we can compare the selected models to the actual model\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 536,
   "metadata": {},
   "outputs": [],
   "source": [
    "x   = np.random.normal(0, 1, 100)\n",
    "X = pd.DataFrame({'X': x,\n",
    "                  'X2': x**2,\n",
    "                  'X3': x**3,\n",
    "                  'X4': x**4,\n",
    "                  'X5': x**5,\n",
    "                  'X6': x**6,\n",
    "                  'X7': x**7,\n",
    "                  'X8': x**8,\n",
    "                  'X9': x**9,\n",
    "                  'X10': x**10})\n",
    "X_np = np.insert(np.array(X), 0, 1, axis=1)\n",
    "\n",
    "y_actual = 5 + 1.2*(x**7)\n",
    "bss_params = np.zeros(11)\n",
    "bss_params[0] = best_subset_params[0]\n",
    "bss_params[2] = best_subset_params[1]\n",
    "bss_params[6] = best_subset_params[2]\n",
    "bss_params[7] = best_subset_params[3]\n",
    "\n",
    "lasso_a_params = np.array(lasso_a_df['coefficient'])\n",
    "lasso_b_params = np.array(lasso_b_df['coefficient'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 542,
   "metadata": {},
   "outputs": [],
   "source": [
    "y_bss     = X_np @ bss_params\n",
    "y_lasso_a = X_np @ lasso_a_params\n",
    "y_lasso_b = X_np @ lasso_b_params"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 554,
   "metadata": {},
   "outputs": [],
   "source": [
    "def mse(y_hat, y):\n",
    "    \"\"\"Calculate Mean Squared Error\"\"\"\n",
    "    return np.sum(np.square(y_hat - y)) / y.size"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 567,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<h4>Actual MSEs compared to known f(x)</h4>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Best subset selection    : 0.5015558203750072\n",
      "Lasso a (higher lambda)  : 0.2332802506985821\n",
      "Lasso b (lower lambda ~0): 5.483599366482682\n"
     ]
    }
   ],
   "source": [
    "display(HTML('<h4>Actual MSEs compared to known f(x)</h4>'))\n",
    "print('Best subset selection    : {}'.format(mse(y_bss, y_actual)))\n",
    "print('Lasso a (higher lambda)  : {}'.format(mse(y_lasso_a, y_actual)))\n",
    "print('Lasso b (lower lambda ~0): {}'.format(mse(y_lasso_b, y_actual)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here we used three seperate approaches to estimate the mode f(x) in a simulated context with noise added. We tested the estimated model for each aproach against the true f(x) without noise.\n",
    "\n",
    "Best subset selection and ridge-regression (lasso b) produced the lowest CV mse, but lasso a achieved the lowest MSE when compared with the true model f(x). The lasso a was also most effective at ignoring superfluous feautures.\n",
    "\n",
    "It seems that lasso_a performed best because it ignored irrelavant features and so minimised overfitting. The cross-validation CV was not able to account for this advantage."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 9. In this exercise, we will predict the number of applications received using the other variables in the College data set.\n",
    "\n",
    "(a) Split the data set into a training set and a test set."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1078,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>Accept</th>\n",
       "      <th>Enroll</th>\n",
       "      <th>Top10perc</th>\n",
       "      <th>Top25perc</th>\n",
       "      <th>F_Undergrad</th>\n",
       "      <th>P_Undergrad</th>\n",
       "      <th>Outstate</th>\n",
       "      <th>Room_Board</th>\n",
       "      <th>Books</th>\n",
       "      <th>Personal</th>\n",
       "      <th>PhD</th>\n",
       "      <th>Terminal</th>\n",
       "      <th>S_F_Ratio</th>\n",
       "      <th>perc_alumni</th>\n",
       "      <th>Expend</th>\n",
       "      <th>Grad_Rate</th>\n",
       "      <th>Private_Yes</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>College</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <th>Abilene Christian University</th>\n",
       "      <td>1232.0</td>\n",
       "      <td>721.0</td>\n",
       "      <td>23.0</td>\n",
       "      <td>52.0</td>\n",
       "      <td>2885.0</td>\n",
       "      <td>537.0</td>\n",
       "      <td>7440.0</td>\n",
       "      <td>3300.0</td>\n",
       "      <td>450.0</td>\n",
       "      <td>2200.0</td>\n",
       "      <td>70.0</td>\n",
       "      <td>78.0</td>\n",
       "      <td>18.1</td>\n",
       "      <td>12.0</td>\n",
       "      <td>7041.0</td>\n",
       "      <td>60.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <th>Adrian College</th>\n",
       "      <td>1097.0</td>\n",
       "      <td>336.0</td>\n",
       "      <td>22.0</td>\n",
       "      <td>50.0</td>\n",
       "      <td>1036.0</td>\n",
       "      <td>99.0</td>\n",
       "      <td>11250.0</td>\n",
       "      <td>3750.0</td>\n",
       "      <td>400.0</td>\n",
       "      <td>1165.0</td>\n",
       "      <td>53.0</td>\n",
       "      <td>66.0</td>\n",
       "      <td>12.9</td>\n",
       "      <td>30.0</td>\n",
       "      <td>8735.0</td>\n",
       "      <td>54.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <th>Agnes Scott College</th>\n",
       "      <td>349.0</td>\n",
       "      <td>137.0</td>\n",
       "      <td>60.0</td>\n",
       "      <td>89.0</td>\n",
       "      <td>510.0</td>\n",
       "      <td>63.0</td>\n",
       "      <td>12960.0</td>\n",
       "      <td>5450.0</td>\n",
       "      <td>450.0</td>\n",
       "      <td>875.0</td>\n",
       "      <td>92.0</td>\n",
       "      <td>97.0</td>\n",
       "      <td>7.7</td>\n",
       "      <td>37.0</td>\n",
       "      <td>19016.0</td>\n",
       "      <td>59.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <th>Alaska Pacific University</th>\n",
       "      <td>146.0</td>\n",
       "      <td>55.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>44.0</td>\n",
       "      <td>249.0</td>\n",
       "      <td>869.0</td>\n",
       "      <td>7560.0</td>\n",
       "      <td>4120.0</td>\n",
       "      <td>800.0</td>\n",
       "      <td>1500.0</td>\n",
       "      <td>76.0</td>\n",
       "      <td>72.0</td>\n",
       "      <td>11.9</td>\n",
       "      <td>2.0</td>\n",
       "      <td>10922.0</td>\n",
       "      <td>15.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <th>Albertson College</th>\n",
       "      <td>479.0</td>\n",
       "      <td>158.0</td>\n",
       "      <td>38.0</td>\n",
       "      <td>62.0</td>\n",
       "      <td>678.0</td>\n",
       "      <td>41.0</td>\n",
       "      <td>13500.0</td>\n",
       "      <td>3335.0</td>\n",
       "      <td>500.0</td>\n",
       "      <td>675.0</td>\n",
       "      <td>67.0</td>\n",
       "      <td>73.0</td>\n",
       "      <td>9.4</td>\n",
       "      <td>11.0</td>\n",
       "      <td>9727.0</td>\n",
       "      <td>55.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                Accept  Enroll  Top10perc  Top25perc  \\\n",
       "  College                                                              \n",
       "0 Abilene Christian University  1232.0   721.0       23.0       52.0   \n",
       "2 Adrian College                1097.0   336.0       22.0       50.0   \n",
       "3 Agnes Scott College            349.0   137.0       60.0       89.0   \n",
       "4 Alaska Pacific University      146.0    55.0       16.0       44.0   \n",
       "5 Albertson College              479.0   158.0       38.0       62.0   \n",
       "\n",
       "                                F_Undergrad  P_Undergrad  Outstate  \\\n",
       "  College                                                            \n",
       "0 Abilene Christian University       2885.0        537.0    7440.0   \n",
       "2 Adrian College                     1036.0         99.0   11250.0   \n",
       "3 Agnes Scott College                 510.0         63.0   12960.0   \n",
       "4 Alaska Pacific University           249.0        869.0    7560.0   \n",
       "5 Albertson College                   678.0         41.0   13500.0   \n",
       "\n",
       "                                Room_Board  Books  Personal   PhD  Terminal  \\\n",
       "  College                                                                     \n",
       "0 Abilene Christian University      3300.0  450.0    2200.0  70.0      78.0   \n",
       "2 Adrian College                    3750.0  400.0    1165.0  53.0      66.0   \n",
       "3 Agnes Scott College               5450.0  450.0     875.0  92.0      97.0   \n",
       "4 Alaska Pacific University         4120.0  800.0    1500.0  76.0      72.0   \n",
       "5 Albertson College                 3335.0  500.0     675.0  67.0      73.0   \n",
       "\n",
       "                                S_F_Ratio  perc_alumni   Expend  Grad_Rate  \\\n",
       "  College                                                                    \n",
       "0 Abilene Christian University       18.1         12.0   7041.0       60.0   \n",
       "2 Adrian College                     12.9         30.0   8735.0       54.0   \n",
       "3 Agnes Scott College                 7.7         37.0  19016.0       59.0   \n",
       "4 Alaska Pacific University          11.9          2.0  10922.0       15.0   \n",
       "5 Albertson College                   9.4         11.0   9727.0       55.0   \n",
       "\n",
       "                                Private_Yes  \n",
       "  College                                    \n",
       "0 Abilene Christian University          1.0  \n",
       "2 Adrian College                        1.0  \n",
       "3 Agnes Scott College                   1.0  \n",
       "4 Alaska Pacific University             1.0  \n",
       "5 Albertson College                     1.0  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "college_df = pd.read_csv('./data/College.csv')\n",
    "\n",
    "# 8(b) label rows by college\n",
    "college_df = college_df.set_index(['Unnamed: 0'], append=True, verify_integrity=True)\n",
    "college_df.rename_axis([None, 'College'], inplace=True)\n",
    "\n",
    "# Get dummimies\n",
    "college_df = pd.get_dummies(college_df).drop('Private_No', axis=1)\n",
    "\n",
    "# Convert to floats\n",
    "college_df = college_df.astype(np.float64)\n",
    "\n",
    "# Remove fullstops from col names\n",
    "college_df = college_df.rename(index=str, columns={\"F.Undergrad\": \"F_Undergrad\", \n",
    "                                                   \"P.Undergrad\": \"P_Undergrad\",\n",
    "                                                   \"S.F.Ratio\": \"S_F_Ratio\",\n",
    "                                                   \"perc.alumni\": \"perc_alumni\",\n",
    "                                                   \"Grad.Rate\": \"Grad_Rate\",\n",
    "                                                   \"Room.Board\": \"Room_Board\"})\n",
    "\n",
    "# Assign train and test sets\n",
    "np.random.seed(1)\n",
    "train = np.random.rand(len(college_df)) < 0.5\n",
    "response   = 'Apps'\n",
    "X_train = college_df[train].drop(response, axis=1)\n",
    "X_test  = college_df[~train].drop(response, axis=1)\n",
    "y_train = college_df[train][response]\n",
    "y_test  = college_df[~train][response]\n",
    "\n",
    "\n",
    "display(X_train.head())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### (b) Fit a linear model using least squares on the training set, and report the test error obtained."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1079,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RMSE: 1229.1326212399779\n"
     ]
    }
   ],
   "source": [
    "# OLS\n",
    "# Use all available features\n",
    "f = '{} ~ {}'.format(response, '+'.join(X_train.columns))\n",
    "\n",
    "# Fit model\n",
    "model = smf.ols(formula=f, data=pd.concat([X_train, y_train], axis=1)).fit()\n",
    "y_hat = model.predict(X_test)\n",
    "print('RMSE: {}'.format(np.sqrt(mse(y_hat, y_test))))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### (c) Fit a ridge regression model on the training set, with λ chosen by cross-validation. Report the test error obtained."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 726,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaEAAAEKCAYAAAC7c+rvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3XucnFWd5/HPr7vTobsJ6U7SCSEXiUyIhKxR0svNxcmIEMAsEQEFBskokmTVRZ3FJa4TUbPOwog6OE7kPgQcA0hwEhGBTBTYlQTsZiB2iCERNGlyJ1c6nUunfvtHnad5urr6kkvdv+/Xq1/11KnncqpS6dO/c37nPObuiIiI5EJZrisgIiKlS42QiIjkjBohERHJGTVCIiKSM2qEREQkZ9QIiYhIzqgREhGRnFEjJCIiOaNGSEREcqYi1xXId0OGDPGTTz4519UQESkoTU1N29y9vrf91Aj14uSTT6axsTHX1RARKShm9ue+7Jex7jgzu9/MtphZc6xskJktMbM14bEu9tpkM3vFzFaa2XOx8i+ZWXMo/3Ks/Ltm9gczW2FmPzez2thrXzOztWa22symxMovCmVrzWx2pt67iIj0TSbHhB4ALkopmw0sdfexwNLwnNCAzAMudffTgStD+QTgBuBMYCIw1czGhnMtASa4+/uB14GvhWPGA1cBp4frzzOzcjMrB/4ZuBgYD1wd9hURkRzJWCPk7s8D21OKpwHzw/Z84ONh+xrgcXdfF47dEspPA5a7+153bweeAy4L+zwTygCWAyNj13jY3fe7+5vAWpKN2JnAWnd/w90PAA+HfUVEJEeynR03zN03AoTHoaH8VKDOzJ41syYzuy6UNwMfNrPBZlYNXAKMSnPezwK/CtsjgPWx11pCWXflXZjZDDNrNLPGrVu3HvabFBGRvsmXxIQKYBJwPlAFLDOz5e6+ysxuI9n19g7wKtAeP9DMvh7K/jUqSnN+J32Dm/ZmSu5+N3A3QENDg264JCKSIdluhDab2XB332hmw4Go260F2OburUCrmT1PcgzodXe/D7gPwMz+PuxLeD4dmAqc7+/ena+FztHSSGBD2O6uXEREgkTCebv1AAfaD1FZUc7gmkrKytL9fX/0st0dtxiYHranA4vC9iLgPDOrCN1uZwGrAMxsaHgcDXwCWBCeXwTcTDKZYW/KNa4ys/5mNgYYC7wE/A4Ya2ZjzKySZPLC4oy9UxGRApRIOKs37+Gyeb/lQ7f9hsvm/ZbVm/eQSGSmUyiTKdoLgGXAODNrMbPrgVuBC8xsDXBBeI67rwKeAlaQbDDudfcotXuhmb0G/AL4grvvCOU/AgYAS0Jq953hXCuBR4HXwjm/4O6HQhLDF4GnSTZwj4Z9RUSEZAO0afc+bniwkZYdbQC07Gjjhgcbebv1QEauae/2Ykk6DQ0NrsmqIlLsogiodX87V9y5rMvrv735rxhRV93n85lZk7s39Laf1o4TERG2te7viHhG1lV1em1kXRWVFeUZua4aIRGREpdIOHv3H6JlRxt3PvtHbrv8/R0N0ci6Ku65roHBNZUZuXa+pGiLiEgORONAb25rZWRdFf+xfie3P72aOVPHM7imkpNqqzjxhOOKJjtORETyRDQOtGFnGz9cuqYjAvqP9TuZ+8RrVPUrz2gDBIqERERKVjQONGfqeLa+s78jAqqt6sfeA4cYXpvZBggUCYmIlKR040Bb39nPzIea+B8/e5UTBx5HbVVmxoHiFAmJiJSYXI8DxSkSEhEpIfkwDhSnSEhEpETEV0TI5ThQnCIhEZESEI+Acj0OFKdISESkBMQz4XI9DhSnSEhEpMh1tyJCNA5U078iJw0QKBISESlq+ZQJl44iIRGRIpVvmXDpKBISESlS+bAiQm8UCYmIFKF8WRGhN4qERESKTL6PA8UpEhIRKSKFMA4Up0hIRKRI5OOKCL1RJCQiUgTydUWE3igSEhEpAvm6IkJvFAmJiBS4fF4RoTcZa4TM7H4z22JmzbGyQWa2xMzWhMe62GuTzewVM1tpZs/Fyr9kZs2h/Mux8itDWcLMGlKu/TUzW2tmq81sSqz8olC21sxmZ+q9i4hkS0+ZcI/NOodHZ57DuGED8rIBgsxGQg8AF6WUzQaWuvtYYGl4jpnVAvOAS939dODKUD4BuAE4E5gITDWzseFczcAngOfjFzCz8cBVwOnh+vPMrNzMyoF/Bi4GxgNXh31FRApSoWXCpZOxMSF3f97MTk4pngZMDtvzgWeBm4FrgMfdfV04dkvY5zRgubvvBQgR0mXAP7j7qlCWeulpwMPuvh9408zWkmzEANa6+xvhuIfDvq8d5VsVEcm6QsyESyfbY0LD3H0jQHgcGspPBerM7FkzazKz60J5M/BhMxtsZtXAJcCoXq4xAlgfe94SyrorFxEpKIWaCZdOvmTHVQCTgPOBKmCZmS1391VmdhuwBHgHeBVo7+Vc6Zp9J32D62lPYDYDmAEwevToPr0BEZFsKdRMuHSyHQltNrPhAOEx6nZrAZ5y91Z330ZynGcigLvf5+5nuPuHge3Aml6u0ULnaGkksKGH8i7c/W53b3D3hvr6+sN6gyIimVTImXDpZDsSWgxMB24Nj4tC+SLgR2ZWAVQCZwE/ADCzoe6+xcxGk0xEOKcP1/ipmX0fOAkYC7xEMkIaa2ZjgLdIJi9ccwzfm4hIRhXSmnB9lckU7QXAMmCcmbWY2fUkG58LzGwNcEF4TkgyeApYQbLBuNfdo9TuhWb2GvAL4AvuviOc/zIzayHZKP3SzJ4O51oJPEoy4eCpcMwhd28Hvgg8DawCHg37iojkvWLIhEvH3NMOi0jQ0NDgjY2Nua6GiJS4LXv28Yl5LzBn6njmPvEa9cf3Z9bkUzoy4SaOGsigmv65rmYHM2ty94be9tOKCSIieSyRcLa37qd1f3vBZ8Klky/ZcSIikiLqgtu0ax9A0YwDxSkSEhHJQ/HJqNWV5UU1DhSnSEhEJM9EEVDUBbez7WDBrojQG0VCIiJ5JpqM+nbrAUbWVRXdOFCcIiERkTySbjLqzQtXcPvTq5k7bQJjhtRQ3b+cITX9Cz4KAjVCIiJ5oxgno/ZG3XEiInmgWCej9kaRkIhIHogvSlqsSQjpKBISEcmxdONAxZiEkI4iIRGRHCrFcaA4RUIiIjlSquNAcYqERERyoFhuz320FAmJiGRZMd2e+2gpEhIRybJiuj330VIkJCKSRcV2e+6jpUhIRCRLSj0TLh1FQiIiWaBMuPQUCYmIZEGprojQG0VCIiIZVsorIvRGkZCISAZpHKhnioRERDJE40C9UyQkIpIBWhGhbzIWCZnZ/Wa2xcyaY2WDzGyJma0Jj3Wx1yab2StmttLMnouVf8nMmkP5l3s7lyX90MzWmtkKMzsjdsz0sP8aM5ueqfcuIqVNKyL0XSa74x4ALkopmw0sdfexwNLwHDOrBeYBl7r76cCVoXwCcANwJjARmGpmY3s6F3AxMDb8zAB+HM41CLgFOCuc75Z4IygicqxEmXBvtx7oMg702KxzeHTmOYwbNqDkoyDIYCPk7s8D21OKpwHzw/Z84ONh+xrgcXdfF47dEspPA5a7+153bweeAy7r5VzTgAc9aTlQa2bDgSnAEnff7u47gCV0bSRFRI6KVkQ4PNkeExrm7hsB3H2jmQ0N5acC/czsWWAAcIe7Pwg0A98xs8FAG3AJ0NjLuUYA62PXbAll3ZV3YWYzSEZRjB49+sjfrYiUFGXCHb58yY6rACYBHyMZscwxs1PdfRVwG8mo5SngVaC9l3Ol+9f1Hsq7Frrf7e4N7t5QX1/fx7cgIqVMmXBHJtuR0GYzGx4il+FA1O3WAmxz91ag1cyeJzkG9Lq73wfcB2Bmfx/27e1co2LXHAlsCOWTU8qfPdZvUERKjzLhjly2I6HFQJSVNh1YFLYXAeeZWYWZVZNMHlgFEHWzmdlo4BPAgl7OtRi4LmTJnQ3sCt12TwMXmlldSEi4MJSJiByx9vYEqzbtVibcEcpYJGRmC0hGHkPMrIVkZtqtwKNmdj2wjpAF5+6rzOwpYAWQAO519yi1e2EYEzoIfCEkFdDduYAnSY4drQX2Ap8J19huZnOB34X9vu3uqYkTIiJ9lkg4G3a1MfOhJt0b6AiZe9phEQkaGhq8sbGx9x1FpKREXXAbdrZxxZ3L+OCoWm6aMo6bF66gZUcbI+uquOe6hpJNxTazJndv6G0/rZggInKYoiSE1v3taecCKQLqu3zJjhMRKRjxyagLm9Z3zYSrVCZcXykSEhE5DKmTUW+aMo75L7zZEQENHdCfkwZWqQHqI0VCIiJ91N1k1MsnjeroghtZV01FhX619pU+KRGRPtBk1MxQd5yISC80GTVzFAmJiPRAt2XILEVCIiI9iDLhNBk1MxQJiYh0Q7dlyDxFQiIiaei2DNmhSEhEJIUy4bJHkZCISIr4OJAy4TJLkZCISEy6cSBlwmWOIiERkUDjQNmnSEhESl4i4Wxv3c+qjbs1DpRlioREpKRFSQibdu1jzqJmjQNlmSIhESlpURJCdWW5xoFyQJGQiJSseBLCzraDGgfKAUVCIlKSUpMQtCJCbigSEpGSE789d5SEcPPCFdz+9GrmTpvAyUNqqOlfzpCa/mqAMkyRkIiUnPjtueNJCLMvfh8AA6sqGDpAEVA2qBESkZKiyaj5JWONkJndb2ZbzKw5VjbIzJaY2ZrwWBd7bbKZvWJmK83suVj5V0JZs5ktMLPjQvlHzOzlUD7fzCpCuZnZD81srZmtMLMzYueaHq69xsymZ+q9i0h+6mky6mOzzuHRmecwbtgARUBZlMlI6AHgopSy2cBSdx8LLA3PMbNaYB5wqbufDlwZykcANwIN7j4BKAeuMrMyYD5wVSj/MxA1KhcDY8PPDODH4VyDgFuAs4AzgVvijaCIFDctSpqfMtYIufvzwPaU4mkkGw/C48fD9jXA4+6+Lhy7JXZMBVAVIp1qYAMwGNjv7q+HfZYAl8eu8aAnLQdqzWw4MAVY4u7b3X1HOCa1kRSRIhS/PXfqONAjM85m7rQJmoyaI9keExrm7hsBwuPQUH4qUGdmz5pZk5ldF/Z5C7gdWAdsBHa5+zPANqCfmTWE468ARoXtEcD62DVbQll35RmRSDhb9+znrR172bpnP4mEZ+pSItID3Z47v+VLinYFMAk4H6gClpnZcmArychmDLAT+JmZXevuPzGzq4AfmFl/4BmgPZwr3Z8y3kN5F2Y2g2RXHqNHjz7sNxN96W94sJGWHW2MrKvinusa1NcskgO6PXd+6zESMrNrY9sfSnnti0dwvc2ha4zwGHW7tQBPuXuru28DngcmAh8F3nT3re5+EHgcOBfA3Ze5+3nufmbYf03sXKN410iSXXjdlXfh7ne7e4O7N9TX1x/2m3y79UBHAwTQsqOtoxtARLIjWpS0dX+7bs+dx3rrjvvb2PY/pbz22SO43mLeTSCYDiwK24uA88yswsyqSSYPrCLZDXe2mVWbmZGMlFYBmNnQ8NgfuBm4M3aN60KW3Nkku/A2Ak8DF5pZXUhIuDCUHXMH2g91NECRlh1tHGg/lInLiUiKqDfi1fW7+NO2vcqEy2O9NULWzXa6551fNFsALAPGmVmLmV0P3ApcYGZrgAvCc9x9FfAUsAJ4CbjX3Zvd/UXgMeBl4PehvneHS3zVzFaFY37h7r8O5U8CbwBrgXuAz4drbAfmAr8LP98OZcdcZUU5I+uqOpWNrKuisqI8E5cTkRTxRUmVCZffzL37AXMze9ndz0jdTve8WDU0NHhjY+NhHRP9FfaDJau5fNIoBtdUMnRAf04aWEVFheYHi2RSIuGs276Xybc/y12fnsTcJ16j/vj+zJp8SsdtGSaOGsigmv65rmpRM7Mmd2/obb/eEhPeZ2YrSEY9p4RtwvP3HmUdi1ZZmTG2/ni+9NFTmflQk5ITRLKku0VJb164gpkPNXX8P1QmXP7oLRJ6T08Hu/ufj3mN8syRREIAW/fs57J5v+00NjSyroqff/5D1A/QX2Aix1p8UdLv/HIVN00Zx80LV1B/fH9uPH+sFiXNsmMSCaU2MmY2GPgwsM7dm46uisVNyQki2ROfjNrdnVEHVlWoCy4P9Zai/YSZTQjbw4FmkllxD5nZl7NQv4IVT0744Kha7vr0JB6bdQ5mpomrIseQJqMWtt7GhMa4e7QA6WdILntznZkNAH4L/GNGa1fABtdUcs91DfxgyWqmnzuGmxeu0NiQSAZoMmph6y1V62Bs+3yS6c+4+x4gkalKFYOyMmPcsAF889IJHQ0QaOKqyLGU7rYMmoxaWHqLhNab2X8nudrAGSTn8mBmVUC/DNet4JWVGe6usSGRDOjptgyKgApHb5HQ9cDpwN8An3L3naH8bOBfMlivoqGJqyLHVrQcz6qNu3VbhiLQW3bcFmBWmvLfAL/JVKWKSTQ2dMODjR2pomOG1OA4iYTrP4nIYYiSEDbt2secRc3dZsLptgyFo8dGyMwW9/S6u196bKtTfKKxocVf/BAbd+5j5k80eVXkSEVJCN+7cmKncSBNRi1cvY0JnUPyHjwLgBfpZb04Sa+szDiUoKMBgncTFDR5VaRv4kkIO9sOahyoSPQ2JnQi8L+ACcAdJBcd3ebuz7n7c5muXDHR5FWRI9fdcjzKhCt8vY0JHSKZEfdUuGXC1cCzZvZtd0+9tYP0IEpQSF1IsapSCQoiPYkvxxMlIdy8cAW3P72audMmaDmeAtfrnVVD4/Mxkg3QycAPSd5cTg7D4JpKHvzsmWzevY+vPtZ54mptVaX+84h0Iz4ZVcvxFJ/elu2ZD7xAco7Qt9z9P7v7XHd/Kyu1KyJlZcbxx1V0NECgiasiPenuzqhajqe49BYJfRpoBU4Fbkze3BRIJii4u5+QwboVnYPtCY0LifRBPBUbUBJCEesxEnL3MncfEH5OiP0MUAN0+LSoqUjv4iti686oxa/XMSE5drSoqUjP4kkIUSq2JqMWN91rOou0qKlIz6IkhLdbD3RKxdY4UPFSJJRlWtRUJL10K2LHU7HHDKmhWqnYRUeNUA5ozpBIZ1oRu3SpOy4HojlD//Oiccx94jU+dfdy5ixqZvPu/UpQkJLT3p5g1SatiF2qMtoImdn9ZrbFzJpjZYPMbImZrQmPdbHXJpvZK2a20syei5V/JZQ1m9kCMzsulJ9vZi+HY/6fmf1FKO9vZo+Y2Voze9HMTo6d62uhfLWZTcnk+++O5gyJJCUSzoZdbcx8qIm3Ww90SkJ4ZMbZzJ02QUkIRS7TkdADwEUpZbOBpe4+FlganmNmtcA84FJ3Px24MpSPAG4EGtx9AlAOXBXO9WPgr939A8BPgb8L5dcDO9z9L4AfALeFc40Px54e6jXPzHLSB6Y5Q1Lqoi64LXv2azJqCcvomJC7Px+PQoJpwOSwPR94FrgZuAZ43N3XhWO3pNSzyswOAtXAhugSQDRfaWCsfBrwzbD9GPAjS860nQY87O77gTfNbC1wJrDsKN7mEYnGhVp2tPHBUbXMmnwKg2sqO+YM6S8/KWbxVOwoE07jQKUpF2NCw9x9I0B4HBrKTwXqzOxZM2sys+vCPm8BtwPrgI3ALnd/JhzzOeBJM2shubrDraF8BMlbUODu7cAuYHC8PGgJZVkXzRm6cPxQbpqSHBu64s5lfPKuZazevEdjQ1K04pNR3249wMKm9V3HgSo1DlQq8ikxoQKYRHKx1CnAHDM7NYwZTQPGACcBNWZ2bTjmK8Al7j6S5O3Gvx/K031zvYfyTsxshpk1mlnj1q1bj+Y9dUtzhqQURRHQhp1tHV1w088dw/wX3mTO1PE8Nuscfvq5sxg3VBO3S0UuGqHNZjYcIDxG3W4twFPu3uru24DngYnAR4E33X2rux8kuYL3uWZWD0x09xfD8Y8A58bONSpco4JkV932eHkwkne78Dq4+93u3uDuDfX19cfqfXehOUNSalIno0ZdcJdPGtXRBTeyrpqKinz6+1gyKRf/0ouB6WF7OrAobC8CzjOzCjOrBs4CVpHshjvbzKrDuM75oXwHMNDMTg3HXxDKU69xBfBrd/dQflXInhsDjAVeytD77BOtJyeloLsVsXVTOsloYoKZLSCZhDAkjNvcQnLc5lEzu55kA3MlgLuvMrOngBVAArjX3ZvDeR4DXgbagf8A7nb3djO7AVhoZgmSjdJnw6XvAx4KiQfbCdl07r7SzB4FXgvn+kK4cV/OaD05KXZaEVt6YskAQbrT0NDgjY2NGb1GNFD7ybuWdeqaG1lXxc8//yHqB+iGXVK4tuzZxyfmvcD3rpzIrb/6AzdNGdfpj627rp3EacNPUANUZMysyd0bettPy/bkAY0NSbGKrwenFbElHTVCeULryUmxSV0PLr4o6cyHmjrd3l5KlxqhPBGtJ7d5976O5Xzi/0n1l6IUikTC2dl2gI0799F28FDHenDxFbFPHlJDjVbEFvJrnlBJ03pyUgyiJIRX1+9i5k+6rgc3++L3ATCwqoKhA9QNJ2qE8kp8PbkoXft7V07kQPshpWtLQYjmAVVXlms9OOkTdcflkfi4UGoGkdK1Jd+lJiEoFVv6QpFQHonmDN14/lgt5SMFpbskBE1Gld4oEsoj0XpyNf3Lla4tBUFJCHK01AjlmbIyo6pfhdK1Je/FV0KYs6iZOVPHp50HNLCqgkE1mnAt6ak7Lg/p9t9SCJSEIMeCIqE8FKVrX3d/13EhLeMjuRZ1wUWLkSoJQY6GIqE8pXRtyUfxeUB/2rZXSQhy1BQJ5Smla0s+irrgosVIlYQgR0uNUJ6K0rU37dqXNl1b3XKSbX1ZjFRJCHK41AjlqXTp2h8cVduRLRd1y+mvTckGLUYqmaJGKI+lpmurW06yTfOAJNOUmJDntIqC5IoWI5VsUCSU51K75eJdcjvbDpJIJHJdRSlS8SSE+DwgdcHJsaRGqABE3XIXjh/K9HPHdL418qcnUa+/QuUY0jwgySZ1xxWIwTWV/N3Hxnfpkpv5UJO65OSY0TwgyTZFQgWirMwoLzNlyklGaR6QZJsaoQKiCaySKem64DQPSLJB3XEFRJlykgk9dcFpMVLJtIxFQmZ2PzAV2OLuE0LZIOAR4GTgT8An3X1HeG0y8I9AP2Cbu/9lKP8K8DnAgd8Dn3H3fWb2f4EB4XJDgZfc/eNmZsAdwCXAXuBv3P3lcK7pwN+FY/63u8/P1PvPBGXKybEWTUJVF5zkSia74x4AfgQ8GCubDSx191vNbHZ4frOZ1QLzgIvcfZ2ZDQUwsxHAjcB4d28zs0eBq4AH3P286KRmthBYFJ5eDIwNP2cBPwbOCg3gLUADyQatycwWR41goVCmnBwr7e0JVm/ZQ9sBLcUjuZOx7jh3fx7YnlI8DYiij/nAx8P2NcDj7r4uHLsldkwFUGVmFUA1sCF+QjMbAHwE+LfYNR70pOVArZkNB6YAS9x9e2h4lgAXHf07zT5lysnRSiScDbve/c6oC05yJduJCcPcfSOAu2+MIh7gVKCfmT1LsovtDnd/0N3fMrPbgXVAG/CMuz+Tcs7LSEZXu8PzEcD62Ostoay78i7MbAYwA2D06NFH9EYzSZlycjSiLrgte/Z3mYQadcGNGVJDtbrgJAvyJTuuApgEnA9UAcvMbDmwlWRkMwbYCfzMzK5195/Ejr0auDf2PN3/GO+hvGuh+93A3QANDQ15efMeZcrJkYh3wUURkCahSi5lOztuc+gaIzxG3W4twFPu3uru24DngYnAR4E33X2rux8EHgfOjU5mZoOBM4Ffxq7RAoyKPR9Jsguvu/KClC5T7oOjapkzdTyt+9vZtHufbn4nnaR2wS1sWt9lEmpVZbkaIMmqbEdCi4HpwK3hMUomWAT8KIz7VJJMKPgBUAOcbWbVJLvjzgcaY+e7EnjC3felXOOLZvZwOM+u0PX3NPD3ZlYX9rsQ+FoG3mNWpMuUU0Qk3UnXBXfTlHHMf+HNjgho6ID+nDSwSt8XyaqMRUJmtgBYBowzsxYzu55k43OBma0BLgjPcfdVwFPACuAl4F53b3b3F4HHgJdJpmeXEbrJgquABSmXfhJ4A1gL3AN8PlxjOzAX+F34+XYoK1jxWz3MmnyK5g5JF4mEs711P6s27mbDzrYuXXCXTxrV0QU3sq6aigpNHZTsMnd12fSkoaHBGxsbe98xR6KJhq3727nizmVd5g59YORAhg2synU1JQei78amXfuYs6iZOVPHs7BpfdrU/tNOPEERkBxTZtbk7g297ZcviQlyhKJuuU2792nukHSS7lYM6oKTfKPYuwiUlRknnnBcp7lDUZJC24FDSlIoMVEXXHe3YlAXnOQTffuKRHzuUJSkMPeJ17jizmV88q5lrN68Rw1RkYuP/+hWDFIo1AgVkWjukJIUSk/qrbirK8v54dI1HSsgRJNQf3PTZB7//LnKmpS8oTGhIhLNHYq6YbTAaelIHf/ROnBSKBQJFZEoSeGk2iouHD+0o0vuU3cvZ+4Tr7Gt9YC65IpMd+M/WgdOCoUioSITT1K45t4XO0VEUZKCxgKKQ7QEz5bd+wE6NT5aB04KhSKhIqQkheIXX4Knu/Gf73/qA5w+4gRGD6pmqNL0JU8pEipS6ZIUoogoWltOEVFhSl2CR+M/UsgUCRWpKElhcE2lIqIi0d0SPBr/kUKmSKhIxVdSiEdE9cf37/hredOufQw7ob/+Wi4A8fGf+BI8uhW3FDo1QkUsSlKI0rbT3XvormsnUVtVqV9YeSqRcHa2HWDPvnZmPtTUpyV4tAKCFBI1QkUuHhGl3nto1uRTaDuojLl8FV+AdMBxFWmX4Jk1+RTdiE4Kmv5kKgFRRDRmSI3GhwpINAG1urK8y/iPluCRYqFIqESUlRnV/ZUxVwiiLrj4BFSN/0ixUiNUQobU9O+yrI/uxpo/osZn485k+jW8OwFV4z9SrPQNLiHxZX1SM+bu+vQkvnflRDbt2sfONi10mm3t7QlWbdrd4wKkV5/5Hk4dNoDRg6t1CwYpGvoWl5h4xtzgmsqOjLm5T7zGrb/6AwC72g6yZY/uQZQN0dyft2KrH6SbgDr74vcBMLCqQqsfSFFRI1SC4hFs5sLOAAAOH0lEQVRRlDEXNUZzFjXzV7c/xyfmvaBkhQyLRz9bY6sfaAKqlBKNCZWoKCI60J6gZUcbc6aO12TWLEk39yc1+00LkEqpUCNUwuIZc7VV/TSZNcNSEw/ic3+U/SalytzV3dKThoYGb2xszHU1MiY+IRJgzqLmTqnbmgh5bKQuu/O9Kyeys+0gc594raPxn//Cm1w+aZSy36QomFmTuzf0tl/GvuFmdr+ZbTGz5ljZIDNbYmZrwmNd7LXJZvaKma00s+di5V8JZc1mtsDMjgvlZmbfMbPXzWyVmd0YK/+hma01sxVmdkbsXNPDtdeY2fRMvfdCEo0PTRw1kJOHVHeZzPqdX65i9aY9rNu+V8kKR6CnxIMo+lH2m5SyTH7LHwAuSimbDSx197HA0vAcM6sF5gGXuvvpwJWhfARwI9Dg7hOAcuCqcK6/AUYB73P304CHQ/nFwNjwMwP4cTjXIOAW4CzgTOCWeCNYysrKjEE1/anpX9EldfumKeNY8NKfWb15D+ve3kvLjr20t+s24X3RW+LB9HPHdMz9+frHTuOU+hpG1VYp+01KSsYaIXd/HtieUjwNmB+25wMfD9vXAI+7+7pw7JbYMRVAlZlVANXAhlD+34Bvu3si5ZhpwIOetByoNbPhwBRgibtvd/cdwBK6NpIlLZrMGt3+YdbkU5j/wptMP3dMxxI/19z7Iqu3KGuuJ+min3S3XYiin3GKfqSEZTsxYZi7bwRw941mNjSUnwr0M7NngQHAHe7+oLu/ZWa3A+uANuAZd38mHHMK8CkzuwzYCtzo7muAEcD62DVbQll35RKk3v6htqofl08a1XXRU90mPC0lHogcvnz5s6sCmAR8jGTEMsfMTg3dZdOAMcBJQI2ZXRuO6Q/sCwNf9wD3h/J0/5u9h/IuzGyGmTWaWePWrVuP9D0VpPhk1r0HDnW5Kd7CpvW83XqADTvb1DUXk27Fg3j0o643kfSy3QhtDl1jhMeoC60FeMrdW919G/A8MBH4KPCmu29194PA48C5sWMWhu2fA++PlY+KXXMkyS687sq7cPe73b3B3Rvq6+uP+M0WqniyQv2A/h3jRPGuue/8chV/3NrK+p2lnbCgxAORo5Pt/wWLgSgrbTqwKGwvAs4zswozqyaZPLCKZDfc2WZWbWYGnB/KAf4N+EjY/kvg9dg1rgtZcmcDu0IX4NPAhWZWFyKsC0OZpBElK4wYWMVdn57E4JrKjq65+OoKf/vIq6x8a3fJZc/Fb7WtxAORI5fJFO0FwDJgnJm1mNn1wK3ABWa2BrggPMfdVwFPASuAl4B73b3Z3V8EHgNeBn4f6nt3uMStwOVm9nvg/wCfC+VPAm8Aa0l2030+XGM7MBf4Xfj5diiTHlRUlHHaiSdwUm1Vp4SFUsyeSyScrXv2s23Pvo7GJ13XmxIPRPouY4kJ7n51Ny+d383+3wW+m6b8FpKp1anlO0mOIaWWO/CFbq5xP++OHUkfReNE7YcSHQkL0VI/URdd1CjdeP5YDrlT07+iqAbco8mmd/z768y++DRm/uTdW20r8UDkyGnZHumTsjLjpNA1t2X3/i7Zc+lm/e87cKhgZ/0nEs7brQdIJBKYGW0HDzHzoSbmTB3P9tYDXbredL8fkSOj/yHSZ1HX3MRRA7nr2kmdsueKKXEhynT7+s9XsHZrKys37O4Y86mt6qeuN5FjSJGQHJYoYaG2qpLhtcmVoLuLiqLt/3XJaRw4mCCBc1y//Oyeiub4HGxPsK890RH13LxwRadVrtX1JnJsqRGSIxI1Rif079fRRRdFRfHbQtxy6XjaDhziqnuWd4wZnTrseMwMd6eyopzBNdlfpTu1u233voNs3bOffQcTHZNMo7GveMMTRXvqehM5NvS/Ro5KvIsumlMU/fKeNfkUdrQe5KuPdc6k+9Pbe/nm4maaN+xmy559bNiVnPi6dc/+jHXbdczn2bGXLXvaWLWxc3fb+u1tfPWxFZ0y3dKlW18+aRS11f34xn89nQknncB7Bteo603kKOh/jhy11DlFew8c6miMosmbUVr35ZNGdUQTC5vWs3PvQb79i5WsjDVIm3a1sWFnG28dYcMUb3A27trLlt37eGPbO6zetIdv/WIl7+w7xMyfNHV0H1ZXlqedZJpusum4YQOoD5HPiLpq6geo+03kaKg7To6ZKCoaPvAAd107iS179gN0io7iY0fxFO/o8Y5/f71T1DGyropDiQSHEk5ZGbgb5QZmxsFDCcrKoNzKOm1HXWv/8tvkOQ+EeUtzFjV3ym6Ld7dVlpd1yXSLop6HZ5yNQc66DkWKmSIhOaaiqOi04ckuulGDqvjuFe/viI52th3sGDuKN0jxx3ikdPBQgje3tfKtX6zkja3JbryNu/fxx63v8K1frGTz7v0d229s3dupay1dpBPPbot3t9XV9OO7VyjqEck2NUKSEVFj9N4hxzPuxAGMHz6AO6+dxMKm9QyqqUzbIKVrmKIxpe7KUl9PbXCiSCfeCKbrbvvW4teoKCvj4RvO5o6rP8DpI05g9KBqLbEjkmHqjpOMihojgPoBx/Gdy96P4dx17STuWJpcfSAelaQ2TECXRipelvp6vGstHunccul4vnvF+zu66NTdJpIfFAlJ1pSVGfUD+jNkwHGcNvwEvnPZ+znhuAruChFSFJ3EI6V4BJOuLPX1eNdaukjnG1NP57311Xzz0glMOOkEhg44Tt1tIjlkyaXWpDsNDQ3e2NiY62oUtficnUMOleXG5t37uWPp63z+r/6CtgOHOkUw8bLU1+MTZIcPPI7y8mQyQy7nJImUIjNrCvd763k/NUI9UyOUG6mTSZPZb4Y7KdlxRnnK62pwRHKvr42QxoQkL0VddyJS3DQmJCIiOaNGSEREckaNkIiI5IwaIRERyRk1QiIikjNK0e6FmW0F/pzrevRgCLAt15Xogep39PK9jqrf0cn3+sGR1fE97l7f205qhAqcmTX2JRc/V1S/o5fvdVT9jk6+1w8yW0d1x4mISM6oERIRkZxRI1T47s51BXqh+h29fK+j6nd08r1+kME6akxIRERyRpGQiIjkjBqhAmBmo8zsN2a2ysxWmtmX0uwz2cx2mdkr4ecbWa7jn8zs9+HaXZYdt6QfmtlaM1thZmdksW7jYp/LK2a228y+nLJP1j8/M7vfzLaYWXOsbJCZLTGzNeGxrptjp4d91pjZ9CzW77tm9ofwb/hzM6vt5tgevw8ZrN83zeyt2L/jJd0ce5GZrQ7fx9lZrN8jsbr9ycxe6ebYbHx+aX+vZP076O76yfMfYDhwRtgeALwOjE/ZZzLwRA7r+CdgSA+vXwL8CjDgbODFHNWzHNhEcg5DTj8/4MPAGUBzrOwfgNlhezZwW5rjBgFvhMe6sF2XpfpdCFSE7dvS1a8v34cM1u+bwE19+A78EXgvUAm8mvr/KVP1S3n9e8A3cvj5pf29ku3voCKhAuDuG9395bC9B1gFjMhtrQ7bNOBBT1oO1JrZ8BzU43zgj+6e8wnI7v48sD2leBowP2zPBz6e5tApwBJ33+7uO4AlwEXZqJ+7P+Pu7eHpcmDksb5uX3Xz+fXFmcBad3/D3Q8AD5P83I+pnupnZgZ8ElhwrK/bVz38Xsnqd1CNUIExs5OBDwIvpnn5HDN71cx+ZWanZ7Vi4MAzZtZkZjPSvD4CWB973kJuGtKr6P4/fi4/v8gwd98IyV8SwNA0++TLZ/lZktFtOr19HzLpi6G78P5uupLy4fM7D9js7mu6eT2rn1/K75WsfgfVCBUQMzseWAh82d13p7z8MskuponAPwH/luXqfcjdzwAuBr5gZh9OeT3dLU6zmpppZpXApcDP0ryc68/vcOTDZ/l1oB3412526e37kCk/Bk4BPgBsJNnllSrnnx9wNT1HQVn7/Hr5vdLtYWnKjugzVCNUIMysH8kvyr+6++Opr7v7bnd/J2w/CfQzsyHZqp+7bwiPW4Cfk+zyiGsBRsWejwQ2ZKd2HS4GXnb3zakv5Przi9kcdVOGxy1p9snpZxkGoacCf+1hgCBVH74PGeHum939kLsngHu6uW6uP78K4BPAI93tk63Pr5vfK1n9DqoRKgCh//g+YJW7f7+bfU4M+2FmZ5L8t307S/WrMbMB0TbJwevmlN0WA9eFLLmzgV1RyJ9F3f71mcvPL8ViIMo0mg4sSrPP08CFZlYXupsuDGUZZ2YXATcDl7r73m726cv3IVP1i48zXtbNdX8HjDWzMSE6vork554tHwX+4O4t6V7M1ufXw++V7H4HM5l9oZ9jlsXyX0iGuiuAV8LPJcAsYFbY54vASpKZPsuBc7NYv/eG674a6vD1UB6vnwH/TDIr6fdAQ5Y/w2qSjcrAWFlOPz+SDeJG4CDJvyyvBwYDS4E14XFQ2LcBuDd27GeBteHnM1ms31qSYwHR9/DOsO9JwJM9fR+yVL+HwvdrBclfpsNT6xeeX0IyG+yP2axfKH8g+t7F9s3F59fd75Wsfge1YoKIiOSMuuNERCRn1AiJiEjOqBESEZGcUSMkIiI5o0ZIRERyRo2QSAEys1+b2ZNhsqFIwVIjJFKA3P0jwH7gY7mui8jRUCMkUrh+Bfx1rishcjQ0WVWkQJnZr4FJwCjv+8KTInlFkZBIATKz/wQMBH4KXJ7j6ogcMUVCIgXIzO4DfgO8CXzL3T+a4yqJHBE1QiIFxszqgWXAae5+0MzWAH/pYfl/kUKi7jiRwjOT5GrGB8PzBSRvRyBScBQJiYhIzigSEhGRnFEjJCIiOaNGSEREckaNkIiI5IwaIRERyRk1QiIikjNqhEREJGfUCImISM78f6pNhEVmrb6UAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RMSE CV: 1033.7092919308884\n",
      "@Lambda: 6.400000000000005\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>feature</th>\n",
       "      <th>coefficient</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Intercept</td>\n",
       "      <td>-743.853899</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Accept</td>\n",
       "      <td>1.239709</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Enroll</td>\n",
       "      <td>0.289301</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Top10perc</td>\n",
       "      <td>42.248928</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Top25perc</td>\n",
       "      <td>-14.340634</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>F_Undergrad</td>\n",
       "      <td>-0.015648</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>P_Undergrad</td>\n",
       "      <td>0.057172</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>Outstate</td>\n",
       "      <td>-0.052587</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>Room_Board</td>\n",
       "      <td>0.139781</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>Books</td>\n",
       "      <td>-0.190414</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>Personal</td>\n",
       "      <td>0.067550</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>PhD</td>\n",
       "      <td>-5.416274</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>Terminal</td>\n",
       "      <td>-8.195066</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>S_F_Ratio</td>\n",
       "      <td>15.538236</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>perc_alumni</td>\n",
       "      <td>-9.710109</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>Expend</td>\n",
       "      <td>0.116894</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>Grad_Rate</td>\n",
       "      <td>12.477785</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>Private_Yes</td>\n",
       "      <td>-432.569829</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        feature  coefficient\n",
       "0     Intercept  -743.853899\n",
       "1        Accept     1.239709\n",
       "2        Enroll     0.289301\n",
       "3     Top10perc    42.248928\n",
       "4     Top25perc   -14.340634\n",
       "5   F_Undergrad    -0.015648\n",
       "6   P_Undergrad     0.057172\n",
       "7      Outstate    -0.052587\n",
       "8    Room_Board     0.139781\n",
       "9         Books    -0.190414\n",
       "10     Personal     0.067550\n",
       "11          PhD    -5.416274\n",
       "12     Terminal    -8.195066\n",
       "13    S_F_Ratio    15.538236\n",
       "14  perc_alumni    -9.710109\n",
       "15       Expend     0.116894\n",
       "16    Grad_Rate    12.477785\n",
       "17  Private_Yes  -432.569829"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Perform 10 fold cross validation to find optimal λ\n",
    "\n",
    "def ridge_cv(X, y, λ, k):\n",
    "    \"\"\"Perform ridge regresion with \n",
    "    k-fold cross validation to return mean MSE scores for each fold\"\"\"\n",
    "    # Split dataset into k-folds\n",
    "    # Note: np.array_split doesn't raise excpetion is folds are unequal in size\n",
    "    X_folds = np.array_split(X, k)\n",
    "    y_folds = np.array_split(y, k)\n",
    "    \n",
    "    MSEs = []\n",
    "    for f in np.arange(len(X_folds)):\n",
    "        # Create training and test sets\n",
    "        X_test  = X_folds[f]\n",
    "        y_test  = y_folds[f]\n",
    "        X_train = X.drop(X_folds[f].index)\n",
    "        y_train = y.drop(y_folds[f].index)\n",
    "        \n",
    "        # Fit model\n",
    "        model = linear_model.Ridge(alpha=λ, fit_intercept=True, normalize=False, solver='cholesky')\n",
    "        m = model.fit(X_train, y_train)\n",
    "        \n",
    "        # Measure MSE\n",
    "        y_hat = m.predict(X_test)\n",
    "        MSEs += [mse(y_hat, y_test)]\n",
    "    return MSEs\n",
    "\n",
    "def optimise(X, y, cv, lambdas):\n",
    "    MSEs = [] \n",
    "    for l in lambdas:\n",
    "        MSEs += [np.mean(cv(X, y, λ=l, k=10))]\n",
    "    \n",
    "    sns.scatterplot(x='λ', y='MSE', data=pd.DataFrame({'λ': lambdas, 'MSE': MSEs}))\n",
    "    plt.show();\n",
    "    \n",
    "    lamb = min(zip(MSEs, lambdas))\n",
    "    print('RMSE CV: {}\\n@Lambda: {}'.format(np.sqrt(lamb[0]), lamb[1]))\n",
    "\n",
    "    # What coefficients does ridge regression choose for the optimal lambda value?\n",
    "    model = model = linear_model.Ridge(alpha=λ, fit_intercept=True, normalize=False, solver='cholesky')\n",
    "    m = model.fit(X, y)\n",
    "    \n",
    "    intercept = pd.DataFrame({'feature': 'Intercept', 'coefficient': [m.intercept_]})\n",
    "    ridge_df  = intercept.append(pd.DataFrame({'feature': X.columns, 'coefficient': m.coef_}), ignore_index=True)\n",
    "    \n",
    "    ax = sns.barplot(x='coefficient', y='feature', data=ridge_df)\n",
    "    plt.xticks(rotation=90)\n",
    "    plt.show();\n",
    "    \n",
    "    display(ridge_df)\n",
    "    return lamb[1]\n",
    "\n",
    "     \n",
    "opt_lamb = optimise(X_train, y_train, ridge_cv, np.arange(1, 20, .1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 727,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RMSE Test: 1230.2863913806934\n"
     ]
    }
   ],
   "source": [
    "# Use optimal lambda value optained in previous step, then test model on test set.\n",
    "model = model = linear_model.Ridge(alpha=opt_lamb, fit_intercept=True, normalize=False, solver='cholesky')\n",
    "# Fit on full training setl\n",
    "model.fit(X_train, y_train)\n",
    "# Get test rmse\n",
    "y_hat = model.predict(X_test)\n",
    "print('RMSE Test: {}'.format(np.sqrt(mse(y_hat, y_test))))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Comment:** With an RSME on the test set of 1230.29, ridge regression performs marginally worse than a naive linear regression with all feature (RMSE: 1229.13)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### (d) Fit a lasso model on the training set, with λ chosen by crossvalidation. Report the test error obtained, along with the number of non-zero coefficient estimates."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 765,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RMSE CV: 1030.3953270677766\n",
      "@Lambda: 0.19099999999999998\n"
     ]
    }
   ],
   "source": [
    "def lasso_cv(X, y, λ, k):\n",
    "    \"\"\"Perform the lasso with \n",
    "    k-fold cross validation to return mean MSE scores for each fold\"\"\"\n",
    "    # Split dataset into k-folds\n",
    "    # Note: np.array_split doesn't raise excpetion is folds are unequal in size\n",
    "    X_folds = np.array_split(X, k)\n",
    "    y_folds = np.array_split(y, k)\n",
    "    \n",
    "    MSEs = []\n",
    "    for f in np.arange(len(X_folds)):\n",
    "        # Create training and test sets\n",
    "        X_test  = X_folds[f]\n",
    "        y_test  = y_folds[f]\n",
    "        X_train = X.drop(X_folds[f].index)\n",
    "        y_train = y.drop(y_folds[f].index)\n",
    "        \n",
    "        # Fit model\n",
    "        model = linear_model.Lasso(alpha=λ, copy_X=True, fit_intercept=True, max_iter=10000,\n",
    "                                   normalize=True, positive=False, precompute=False, random_state=None,\n",
    "                                   selection='cyclic', tol=0.0001, warm_start=False).fit(X_train, y_train)\n",
    "        \n",
    "        # Measure MSE\n",
    "        y_hat = model.predict(X_test)\n",
    "        MSEs += [mse(y_hat, y_test)]\n",
    "    return MSEs\n",
    "\n",
    "lambdas = np.arange(.001, 1, .01)\n",
    "MSEs    = [] \n",
    "for l in lambdas:\n",
    "    MSEs += [np.mean(lasso_cv(X_train, y_train, λ=l, k=10))]\n",
    "\n",
    "sns.scatterplot(x='λ', y='MSE', data=pd.DataFrame({'λ': lambdas, 'MSE': MSEs}))\n",
    "plt.show();\n",
    "\n",
    "lamb = min(zip(MSEs, lambdas))\n",
    "print('RMSE CV: {}\\n@Lambda: {}'.format(np.sqrt(lamb[0]), lamb[1]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 801,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "668b95810045466f8ceabfe701225ea7",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(FloatSlider(value=0.19099999999999998, description='λ', max=1.9099999999999997, min=0.00…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def lasso_test(λ):\n",
    "    # Fit model on full training set with optimal lambda\n",
    "    model = linear_model.Lasso(alpha=λ, copy_X=True, fit_intercept=True, max_iter=10000,\n",
    "                               normalize=True, positive=False, precompute=False, random_state=None,\n",
    "                               selection='cyclic', tol=0.0001, warm_start=False).fit(X_train, y_train)\n",
    "    \n",
    "    # Get test rmse\n",
    "    y_hat = model.predict(X_test)\n",
    "    print('RMSE Test: {}'.format(np.sqrt(mse(y_hat, y_test))))\n",
    "    \n",
    "    # # What coefficients does the lasso choose for the optimal lambda value?\n",
    "    intercept = pd.DataFrame({'feature': 'Intercept', 'coefficient': [model.intercept_]})\n",
    "    lasso_df  = intercept.append(pd.DataFrame({'feature': X_train.columns, 'coefficient': model.coef_}), ignore_index=True)\n",
    "    \n",
    "    ax = sns.barplot(x='coefficient', y='feature', data=lasso_df);\n",
    "    plt.xticks(rotation=90)\n",
    "    plt.show();\n",
    "    \n",
    "    display(lasso_df)\n",
    "\n",
    "interact(lasso_test, λ=widgets.FloatSlider(min=lamb[1]/100, max=lamb[1]*10, step=0.01, value=lamb[1]));\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Results so far...\n",
    "\n",
    "\n",
    "| Model | RSME test |\n",
    "| --- | --- |\n",
    "| Lasso          | 1228.58 |\n",
    "| OLS | 1229.13 |\n",
    "| Ridge          | 1230.29 |"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### (e) Fit a PCR model on the training set, with M chosen by crossvalidation. Report the test error obtained, along with the value of M selected by cross-validation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 894,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "624b3c2456094f13ab947397f43ce951",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(IntSlider(value=10, description='seed', max=50, min=1), IntSlider(value=10, description=…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def pcr_cv(seed, cv_folds):\n",
    "    \"\"\"Perform Principle Component Regression evaluated with\n",
    "    k-fold cross validation\"\"\"\n",
    "\n",
    "    # Select components with cross-validation\n",
    "    # ---------------------------------------\n",
    "    # Load data\n",
    "    X = college_df[train].drop(response, axis=1)\n",
    "    y = college_df[train][response]\n",
    "    \n",
    "    # Get all principle components\n",
    "    pca = PCA()\n",
    "    X_reduced = pca.fit_transform(scale(X))\n",
    "    \n",
    "    # Get cv MSE for cumulative components\n",
    "    M = X_reduced.shape[1]\n",
    "    MSEs = []\n",
    "    for m in range(M):\n",
    "        model = LinearRegression()\n",
    "        cv    = KFold(n_splits=cv_folds, random_state=seed, shuffle=True)\n",
    "        cv10  = cross_val_score(model, X_reduced[:, 0:m+1], y, cv=cv, scoring='neg_mean_squared_error')\n",
    "        MSEs += [np.mean(np.abs(cv10))]\n",
    "        \n",
    "    df = pd.DataFrame({'principal components count': np.arange(1, M+1), 'RMSE_CV': np.sqrt(MSEs)})\n",
    "    ax = sns.lineplot(x='principal components count', y='RMSE_CV', data=df)\n",
    "    plt.show();\n",
    "    #ax.axes.set_ylim(100000, 140000)\n",
    "\n",
    "    # Make Test predictions\n",
    "    # ---------------------------------------\n",
    "    \n",
    "    # Get optimal number of compoenents from cv results\n",
    "    m = df[df['RMSE_CV'] == df['RMSE_CV'].min()]['principal components count'].iloc[0]\n",
    "    \n",
    "    # Get all principle components across train and test values for X\n",
    "    X_reduced = pca.fit_transform(scale(college_df.drop(response, axis=1)))\n",
    "    \n",
    "    # Fit model on TRAINING subset of PCs\n",
    "    model = LinearRegression()\n",
    "    model.fit(X_reduced[train][:, 0:m+1], y_train)\n",
    "    # Predict using TEST subset of PCs\n",
    "    y_hat = model.predict(X_reduced[~train][:, 0:m+1])\n",
    "    \n",
    "    # Show results for optimal number of components\n",
    "    best_df = df[df['RMSE_CV'] == df['RMSE_CV'].min()]\n",
    "    best_df['RSME_Test'] = np.sqrt(mse(y_hat, y_test))\n",
    "    display(best_df)\n",
    "    \n",
    "    print(model.score(X_reduced[~train][:, 0:m+1], y_test))\n",
    "    \n",
    "\n",
    "interact(pcr_cv, \n",
    "         seed=widgets.IntSlider(min=1, max=50, step=1, value=10), \n",
    "         cv_folds=widgets.IntSlider(min=2, max=100, step=1, value=10));"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Results so far...\n",
    "\n",
    "\n",
    "| Model | RSME test |\n",
    "| --- | --- |\n",
    "| Lasso          | 1228.58 |\n",
    "| OLS | 1229.13 |\n",
    "| PCR | 1229.13 |\n",
    "| Ridge          | 1230.29 |"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### (f) Fit a PLS model on the training set, with M chosen by cross- validation. Report the test error obtained, along with the value of M selected by cross-validation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 974,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "f4d2a853576947f29c1c0faa6db26aed",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(IntSlider(value=10, description='seed', max=50, min=1), IntSlider(value=10, description=…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.cross_decomposition import PLSRegression\n",
    "\n",
    "def pls_cv(seed, cv_folds):\n",
    "    \"\"\"Perform Partial Least Squares Regression evaluated with\n",
    "    k-fold cross validation\"\"\"\n",
    "\n",
    "    # Select components with cross-validation\n",
    "    # ---------------------------------------\n",
    "    # Load test data\n",
    "    X_train = np.array(college_df[train].drop(response, axis=1))\n",
    "    y_train = np.array(college_df[train][response])   \n",
    "    X_test  = np.array(college_df[~train].drop(response, axis=1))\n",
    "    y_test  = np.array(college_df[~train][response])\n",
    "    \n",
    "    # Get cv MSE for cumulative components\n",
    "    M = X_train.shape[1]\n",
    "    MSEs = []\n",
    "    for m in range(M):\n",
    "        cv      = KFold(n_splits=cv_folds, random_state=seed, shuffle=True)\n",
    "        results = cross_val_score(PLSRegression(n_components=m+1, scale=True, max_iter=10000), \n",
    "                                  X_train, y_train, cv=cv, scoring='neg_mean_squared_error')\n",
    "        MSEs   += [np.mean(np.abs(results))]\n",
    "        \n",
    "    df = pd.DataFrame({'principal components count': np.arange(1, M+1), 'RMSE_CV': np.sqrt(MSEs)})\n",
    "    ax = sns.lineplot(x='principal components count', y='RMSE_CV', data=df)\n",
    "    plt.show();\n",
    "    \n",
    "    # Make Test predictions\n",
    "    # ---------------------------------------\n",
    "    # Get optimal number of components from cv results\n",
    "    m = df[df['RMSE_CV'] == df['RMSE_CV'].min()]['principal components count'].iloc[0]\n",
    "    print(m)\n",
    "\n",
    "    # Fit model on TRAINING subset of PCs\n",
    "    model = PLSRegression(n_components=m, scale=True, max_iter=10000).fit(X_train, y_train)\n",
    "    # Predict using TEST subset of PCs\n",
    "    X_test_r, y_test_r = model.transform(X_test, y_test)\n",
    "    y_hat = model.predict(X_test)\n",
    "    \n",
    "    # Show results for optimal number of components\n",
    "    best_df = df[df['RMSE_CV'] == df['RMSE_CV'].min()]\n",
    "    best_df['RSME_Test'] = np.sqrt(mse(y_hat.T[0], y_test))\n",
    "    display(best_df)\n",
    "\n",
    "    \n",
    "interact(pls_cv, \n",
    "         seed=widgets.IntSlider(min=1, max=50, step=1, value=10), \n",
    "         cv_folds=widgets.IntSlider(min=2, max=100, step=1, value=10));"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Results so far...\n",
    "\n",
    "\n",
    "| Model | RSME test |\n",
    "| --- | --- |\n",
    "| Lasso          | 1228.58 |\n",
    "| OLS | 1229.13 |\n",
    "| PCR | 1229.13 |\n",
    "| Ridge          | 1230.29 |\n",
    "| PLS          | 1230.36 |"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Personal Q: how does backward stepwise selection compare with these results?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1083,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RSME: 1228.098002318284\n"
     ]
    }
   ],
   "source": [
    "from sklearn.feature_selection import RFECV\n",
    "from sklearn.linear_model import LinearRegression\n",
    "\n",
    "X_train = college_df[train].drop(response, axis=1)\n",
    "X_test  = college_df[~train].drop(response, axis=1)\n",
    "y_train = pd.DataFrame({'Apps': college_df[train][response]})\n",
    "y_test  = np.array(college_df[~train][response])\n",
    "\n",
    "estimator = LinearRegression()\n",
    "selector = RFECV(estimator, step=1, cv=10, scoring='neg_mean_squared_error')\n",
    "\n",
    "selector = selector.fit(X_train, y_train)\n",
    "\n",
    "y_hat = selector.predict(X_test)\n",
    "print('RMSE: {}'.format(np.sqrt(mse(y_hat, y_test))))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### (g) Comment on the results obtained. How accurately can we predict the number of college applications received? Is there much difference among the test errors resulting from these five approaches?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1084,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Functions to emulate R's lm().plot() functionality\n",
    "# Providing powerful residual plots for simple AND multivariate\n",
    "# linear regresssion\n",
    "# - bring your own predictions\n",
    "# - underlying stats available as pandas dataframe\n",
    "# - visualise linearity and outliers in multiple dimensions\n",
    "\n",
    "\n",
    "def lm_stats(X, y, y_pred):\n",
    "    \"\"\" LEVERAGE & STUDENTISED RESIDUALS\n",
    "    - https://en.wikipedia.org/wiki/Studentized_residual#How_to_studentize\n",
    "    \"\"\"\n",
    "    # Responses as np array vector\n",
    "    try: \n",
    "        y.shape[1] == 1\n",
    "        # take first dimension as vector\n",
    "        y = y.iloc[:,0]\n",
    "    except:\n",
    "        pass\n",
    "    y = np.array(y)\n",
    "    \n",
    "    # Residuals\n",
    "    residuals = np.array(y - y_pred)\n",
    "    \n",
    "    # Hat matrix\n",
    "    H = np.array(X @ np.linalg.inv(X.T @ X)) @ X.T\n",
    "    \n",
    "    # Leverage\n",
    "    h_ii = H.diagonal()\n",
    "    \n",
    "    ## Externally studentised residual\n",
    "    # In this case external studentisation is most appropriate \n",
    "    # because we are looking for outliers.\n",
    "    \n",
    "    # Estimate variance (externalised)\n",
    "    σi_est = []\n",
    "    for i in range(X.shape[0]):\n",
    "        # exclude ith observation from estimation of variance\n",
    "        external_residuals = np.delete(residuals, i)\n",
    "        σi_est += [np.sqrt((1 / (X.shape[0] - X.shape[1] - 1)) * np.sum(np.square(external_residuals)))]\n",
    "    σi_est = np.array(σi_est)\n",
    "    \n",
    "    # Externally studentised residuals\n",
    "    t = residuals / σi_est * np.sqrt(1 - h_ii)\n",
    "    \n",
    "\n",
    "    # Return dataframe\n",
    "    return pd.DataFrame({'residual': residuals,\n",
    "                         'leverage': h_ii, \n",
    "                         'studentised_residual': t,\n",
    "                         'y_pred': y_pred})\n",
    "\n",
    "\n",
    "def lm_plot(lm_stats_df): \n",
    "    \"\"\"Provides R style residual plots based on results from lm_stat()\"\"\"\n",
    "    # Parse stats\n",
    "    t      = lm_stats_df['studentised_residual']\n",
    "    h_ii   = lm_stats_df['leverage']\n",
    "    y_pred = lm_stats_df['y_pred']\n",
    "    \n",
    "    # setup axis for grid\n",
    "    plt.figure(1, figsize=(16, 18))\n",
    "    \n",
    "    # Studentised residual plot\n",
    "    plt.subplot(321)\n",
    "    ax = sns.regplot(x=y_pred, y=t, lowess=True)\n",
    "    plt.xlabel('Fitted values')\n",
    "    plt.ylabel('Studentised residuals')\n",
    "    plt.title('Externally studentised residual plot', fontweight='bold')\n",
    "    # Draw Hastie and Tibshirani's bounds for possible outliers\n",
    "    ax.axhline(y=3, color='r', linestyle='dashed')\n",
    "    ax.axhline(y=-3, color='r', linestyle='dashed');\n",
    "    \n",
    "    # Normal Q-Q plot\n",
    "    plt.subplot(322)\n",
    "    ax = stats.probplot(t, dist='norm', plot=plt)\n",
    "    plt.ylabel('Studentised residuals')\n",
    "    plt.title('Normal Q-Q', fontweight='bold')\n",
    "    \n",
    "    # Standardised residuals\n",
    "    plt.subplot(323)\n",
    "    ax = sns.regplot(x=y_pred, y=np.sqrt(np.abs(t)), lowess=True)\n",
    "    plt.xlabel('Fitted values')\n",
    "    plt.ylabel('√Standardized residuals')\n",
    "    plt.title('Scale-Location', fontweight='bold')\n",
    "    \n",
    "    # Residuals vs Leverage plot\n",
    "    plt.subplot(324)\n",
    "    ax = sns.scatterplot(x=h_ii, y=t)\n",
    "    plt.xlabel('Leverage')\n",
    "    plt.ylabel('Studentised residuals')\n",
    "    plt.title('Externally studentised residual vs Leverage', fontweight='bold');"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1090,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>model</th>\n",
       "      <th>rmse</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Backward_Stepwise</td>\n",
       "      <td>1228.10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Lasso</td>\n",
       "      <td>1228.58</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>OLS</td>\n",
       "      <td>1229.13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>PCR</td>\n",
       "      <td>1229.13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Ridge</td>\n",
       "      <td>1230.29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>PLS</td>\n",
       "      <td>1230.36</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               model     rmse\n",
       "0  Backward_Stepwise  1228.10\n",
       "1              Lasso  1228.58\n",
       "2                OLS  1229.13\n",
       "3                PCR  1229.13\n",
       "4              Ridge  1230.29\n",
       "5                PLS  1230.36"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "models = ['Backward_Stepwise', 'Lasso', 'OLS', 'PCR', 'Ridge', 'PLS']\n",
    "rmses  = [1228.10, 1228.58, 1229.13, 1229.13, 1230.29, 1230.36]\n",
    "results = pd.DataFrame({'model': models, 'rmse': rmses})\n",
    "\n",
    "ax = sns.barplot(x='model', y='rmse', data=results)\n",
    "ax.set_ylim([1220,1235])\n",
    "plt.xticks(rotation=90)\n",
    "plt.show();\n",
    "\n",
    "display(results)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1086,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3001.6383526383524"
      ]
     },
     "execution_count": 1086,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "college_df['Apps'].mean()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Comment:** \n",
    "\n",
    "The mean number of applications received across all colleges is 3002. Our best models predictions yield a means error of +/- 1228 applications. So for the average college we would expect our prediction to be in error by +/- 1228/3002 = 40.9%.\n",
    "\n",
    "All models return RMSE scores in the range 1228.10 (backward stepwise) - 1230.36 (Partial Least SQuares). Thats a disparity of ..."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1093,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.18368607562014297"
      ]
     },
     "execution_count": 1093,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "((1230.36 - 1228.10) / 1230.36) *100"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "... 0.18%, so there really isn't much between them in this setting.\n",
    "\n",
    "Let's take a look at the diagnostics for the best model found by backward stepwise selection..."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1087,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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tGr+8Ik352U0YwWzIiJSUJYcOVXBq4iIyDARixlTqsvyc+y8HFVERERERERkPyiYFRERERERkYKjYFZEREREREQKjoJZERERERERKTgKZkVERERERKTgKJgVERERERGRgqNgVkRERERERAqOglkRERHpxcw+ZWbPmdkqM/uVmZXnO00iIiJRCmZFRESkBzObDlwKLHDOHQUUAeflN1UiIiI9KZgVERGRdIqBCjMrBiqBV/OcHhERkR4UzIqIiEgPzrnNwP8ArwCvAbudc/dEtzGzi81shZmtqK+vz0cyRURklFMwKyIiIj2Y2QTgHOBg4CCgyswuiG7jnLvJObfAObdgypQp+UimiIiMcgpmRUREJNWpwHrnXL1zrgP4PfCmPKdJRESkBwWzIiIikuoV4AQzqzQzA04BXshzmkRERHpQMCsiIiI9OOceA24DVgLP4u8XbsprokRERFIU5zsBIiIiMvw4564Grs53OkRERDJRzayIiIiIiIgUHAWzIiIiIiIiUnAUzIqIiIiIiEjBUTArIiIiIiIiBUfBrIiIiIiIiBQcBbMiIiIiIiJScBTMioiIiIiISMFRMCsiIiIiIiIFR8GsiIiIiIiIFBwFsyIiIiIiIlJwFMyKiIiIiIhIwVEwKyIiIiIiIgVHwayIiIiIiIgUHAWzIiIiIiIiUnAUzIqIiIiIiEjBUTArIiIiIiIiBSdnwayZzTSzB83sBTN7zswuS7PNEjPbbWZPhcdVuUqPiIiIiIiIjBzFOdx3J/Bp59xKM6sGnjCze51zz6ds91fn3NtymA4REREREREZYXJWM+uce805tzK83gu8AEzP1fFERERERERk9BiSPrNmNgc4FngszeqFZva0md1lZvMy/P3FZrbCzFbU19fnMKUiIiIiIiJSCHIezJrZGOB3wOXOuT0pq1cCs51zrwe+C/wx3T6cczc55xY45xZMmTIltwkWERERERGRYS+nwayZleAD2WXOud+nrnfO7XHONYbXfwZKzGxyLtMkIiIiIiIihS+Xoxkb8GPgBefcNzJsc0DYDjN7Y0hPQ67SJCIiIiIiIiNDLkczfjPwPuBZM3sqLPs8MAvAOfdDYCnwcTPrBFqA85xzLodpEhERERERkREgZ8Gsc+5hwPrZ5gbghlylQUREREREREamIRnNWERERERERGQwKZgVERERERGRgqNgVkRERERERAqOglkREREREREpOApmRUREREREpOAomBUREREREZGCo2BWRERERERECo6CWRERERERESk4CmZFRERERESk4CiYFRERERERkYKjYFZEREREREQKjoJZERER6cXMxpvZbWb2opm9YGYL850mERGRqOJ8J0BERESGpW8Dtc65pWZWClTmO0EiIiJRCmZFRESkBzMbCywGPgDgnGsH2vOZJhERkVRqZiwiIiKp5gL1wE/N7Ekz+18zq8p3okRERKIUzIqIiEiq4v/P3p3Hx11X+x9/nZnMJJOtSdMsXaGF0lJKFyg7Yt3YRIo/8N6LKIJXqRfXqxf13t8VFa6Pn7he9HqloKIgriC0YllUrBUBkdLSvZS2lCZNmjRN0iyTWc/vj+/MNJNlMmkzmczkPB+PPpLMd2byCQUm7/mczznAWcD3VXUp0A18vu8dROQWEXlJRF5qaWnJxhqNMcZMcBZmjTHGGNNfPVCvqn+Lff0wTrhNUNV7VXWZqi6rrq4e8wUaY4wxFmaNMcYYk0RVm4ADIjIvdtPbgO1ZXJIxxhgzgDWAMsYYY8xgPg48FOtkvBe4OcvrMcYYY5JYmDXGGGPMAKq6CViW7XUYY4wxQ7EyY2OMMcYYY4wxOcfCrDHGGGOMMcaYnGNh1hhjjDHGGGNMzrEwa4wxxhhjjDEm51iYNcYYY4wxxhiTcyzMGmOMMcYYY4zJOWmFWRE5RUQKY58vF5FPiEhFZpdmjDHGGGOMMcYMLt2d2UeAiIicCvwQmA38LGOrMsYYY4wxxhhjUkg3zEZVNQy8G/hvVf1XYGrmlmWMMcYYY4wxxgwt3TAbEpHrgQ8Aj8du82RmScYYY4wxxhhjTGoFad7vZuAjwFdUdZ+IzAZ+mrllmVyxbmczq9bv5UBbDzMri1l5yRyWz6/J9rKMMcYYY4wxeS6tMKuq24FP9Pl6H/DVTC3K5IZ1O5u5fc02PG6hwuehubOX29ds4w6wQGuMMcYYY4zJqJRhVkS2ADrUdVVdNOorMjlj1fq9eNxCsdf516jYW0BPMMyq9XstzBpjjDHGGGMyarid2avGZBUmJx1o66HCl3x02udxU9/Wk6UVGWPMxCEinwTuBzqBHwBLgc+r6tNZXZgxxhgzRlKGWVXdP1YLMblnZmUxzZ29iZ1ZAH8owozK4iyuyhhjJowPqurdInIZUI3T3+J+wMKsMcaYCSGtbsYicr6I/F1EukQkKCIRETk6zGNmisifRGSHiGyLvYPc/z4iIt8RkddEZLOInHW8P4gZeysvmUMoovQEw6g6H0MRZeUlc7K9tHFr3c5mrr/3BS6+6xmuv/cF1u1szvaSjDG5S2IfrwTuV9VX+txmjDHG5L10R/P8D3A9sBvwAR8CvjvMY8LAZ1T1dOB84KMisqDffa4A5sb+3AJ8P831mHFg+fwa7rj6DGrKiujwh6gpK+KOq8+w87JDiDfMau7sTWqYZYHWGHOcNojI0zhh9ikRKQOiWV6TMcYYM2bSHc2Dqr4mIm5VjQD3i8hzw9y/EWiMfd4pIjuA6cD2PndbATygqgq8ICIVIjI19liTA5bPr7HwmiZrmGWMGWX/DCwB9qpqj4hU4ZQaG2OMMRNCumG2R0S8wCYR+RpOSC1J95uIyMk4jSn+1u/SdOBAn6/rY7dZmDVAfs2xtYZZxpjRMMiRnDkiVl1sjDFm4kk3zL4fcAMfA/4VmAlcm84DRaQUeAT4lKr2P2c72KvvgFFAInILThkys2bNSnPJJtfl2xxba5hljBkl30xxTYG3jtVCjDHGmGxKK8z26WrsB76c7pOLiAcnyD6kqr8Z5C71OME4bgZwcJDvfy9wL8CyZcuGnHtrctdgO7D5Vpa78pI53L5mGz3BMD6PG38oYg2zjDEjpqpvyfYajDHGmPEgrTArIvsYZMdUVYf8LVycmqcfAjtU9VtD3G0N8DER+QVwHtBh52UnnqF2YHuCYerKi5Lum8tlucvn13AHztnZ+rYeZuR42bQxJvtEZCGwAEj8z1JVH8jeiowxxpixk26Z8bI+nxcB7wEmD/OYi3DKk7eIyKbYbf8BzAJQ1XuAtThdGF8DerDGFRPSUDuwwXAUfyiSV2W51jDLGDNaROSLwHKcMLsWZ0LAs4CFWWOMMRNCumXGrf1u+m8ReRa4PcVjnmWYeXexLsYfTWcNJn8N1RjJ65bEHFsryzXGmAGuAxYDG1X1ZhGpBX6Q5TUZY4wxYybdMuO+nRNdODu1ZRlZkZlwhmqMNLe2PHF21spyjTFmAL+qRkUkLCLlQDNg7/YZY4yZMNItM+7bOTEMvA78w6ivxkxIqRojWVmuMcYM6SURqQDuAzYAXcCL2V2SMcYYM3bSLTO2zokmY6wxkjHGjJyq3hr79B4ReRIoV9XN2VyTMcYYM5ZShlkR+XSq6ym6FBszIrYDa4wxIyMilwx2m6quz8Z6jDHGmLE23M5s/FzsPOAcnFE6AO8C7MXSGGOMyZ7b+nxeBJyLU2781uwsxxhjjBlbKcOsqn4ZQESeBs5S1c7Y118Cfp3x1RljjDFmUKr6rr5fi8hM4GtZWo4xxhgz5tJtADULCPb5OgicPOqrMSaPrdvZzKr1eznQ1sNMOxdsjBl99cDCbC/CGGOMGSvphtkHgRdF5FFAgXdjQ9mNSdu6nc3cvmYbHrdQ4fPQ3NnL7Wu2cQdYoDXGHBcR+S7OazI4Y/OWAK9kb0W5LxpVWruDBMMRvAVuqkq8uFyS7WUZY4wZQrrdjL8iIk8Ab4rddLOqbszcsozJL6vW78XjlsQs3WJvAT3BMKvW77Uwa4w5Xi/1+TwM/FxV/5qtxeS6aFTZdaiTDz/wEvVtfmZU+rjvxmXMqy2zQGuMMePUcN2My1X1qIhMxpkt+3qfa5NV9Uhml2dMfjjQ1kOFz5N0m8/jpr6tJ0srMsbkOlX9SbbXkE9au4OJIAtQ3+bnww+8xKO3XkR1WWGWV2eMMWYww+3M/gy4Cqc7ova5XWJfz8nQuozJKzMri2nu7E3szAL4QxFmVBZncVXG5KbeUIRndjZzUlUxZ0yblO3ljDkR2ULya3ISVV00hsvJG8FwJBFk4+rb/ATDkSytyBhjzHCG62Z8Vezj7LFZjjH5aeUlc7h9zTZ6gmF8Hjf+UIRQRFl5ib0fZEw6IlHlhb2tPLaxgSe3NtEZCPOes2fw9fcszvbSsuGq2MePxj4+GPt4A2DlHsfJW+BmRqUvKdDOqPThLXBncVXGGGNSSevMrIhcBGxS1W4ReR9wFvDfqvpGRldnTJ5YPr+GO3DOzta39TDDuhkbMyxVZdvBozy2sYHfbj7IoaOBxDW3SwiEo1lcXfao6n5wXptV9aI+lz4vIn8F7hiN7yMibpxzuQ3xN7fzWVWJl/tuXDbgzGxViTfbSxsRa2JljJlI0u1m/H1gsYgsBj4L/BDnneA3Z2phxuSb5fNrLLwak4Y3WntYvamBxzY1sKelO+naWbMquGbpdN555lSqSif8OcYSEblYVZ8FEJELgZJRfP5PAjuA8lF8znHL5RLm1Zbx6K0X5WwQtCZWxpiJJt0wG1ZVFZEVwN2q+kMR+UAmF2aMMWbiaO0K8LstjTy2sYGX32hPunZKdQnXLJnOiiXTmVVl58z7+GfgRyISPzjcDnxwNJ5YRGYA7wS+Anx6NJ4zF7hcktPNnqyJlTFmokk3zHaKyL8D7wfeFCs98gzzGJNh63Y2s2r9Xg609TDTylaNMTmmJxjm99sP8djGBv6y+zDh6LGeRjVlhVy9eBrXLJ3OGdPKEbFdpf5UdQNO1VQ5IKraMYpP/984lVhlo/icOSNXS3WtiZUxZqJJN8z+I/Be4IOq2iQis4CvZ25ZZjjrdjZz+5pteNxChc9Dc2cvt6/Zxh1ggdYYM26FI1H+8tphVm9s4Onth+gJHvslu6ywgMsX1nHN0umcP6cKdw6Eh2wQkfep6k9F5NP9bgdAVb91gs9/FdCsqhtEZHmK+90C3AIwa9asE/mW40oul+paEytjzESTVpiNBdhHgLmxmw4Dj2ZsVWZYq9bvxeOWxKiXYm8BPcEwq9bvtTBrjBlXVJWNB9pZvbGBxzc30todTFzzul0sn1fNNUun89b5NRR57JfuNMTPxWZq1/Qi4GoRuRIoAspF5Keq+r6+d1LVe4F7AZYtWzbkqKBcM1Sp7i9vOX/c79LmSxMrY4xJV7rdjD+M8+7rZOAUYDpwD/C2zC3NpHKgrYcKX3Klt8/jpr4te1MZrOzZGNPXnpYuVm9sYPUrB9nfmvz/pvNmT+aapdO5cuFUJhXbqZWRUNVVsY9fztDz/zvw7wCxndl/6x9k89lQpbr1bX4+8+tXxvUubT40sTLGmJFIt8z4o8C5wN8AVHW3iFhKyaKZlcU0d/YmdmYB/KEIMyqz0xwl18qeLXgbkxnNR3tZ88pBVm86yJaG5COc8+vKuGbpdK5ePI1pFb4srTB/iMjXgP8C/MCTwGLgU6r606wuLMcNVarb7g/lREOlXG9iZYwxI5FumA2oajB+HkdECoC8KSnKRSsvmcPta7bREwzj87jxhyKEIsrKS+ZkZT25VPaca8HbmPGuszfEk1ubWL3pIM/tOUyfPk5Mr/Bx9ZJpXLNkOvPqJmQvoUy6VFU/KyLvBuqB9wB/AkYtzKrqOmDdaD1fLhisVPeuaxfxjad2AdZQyRhjxpN0w+yfReQ/AJ+IvAO4Ffht5pZlhrN8fg134ITI+rYeZmR5d3E8lj0PJZeCtzHjVTAcZd2uZlZvOsgfdhwiEI4mrlUUe7jyzKlcs2Q6y06qtBLHzIn/T/dK4OeqesS6Pp+4vqW6/lCEPc1dfOOpXWw84IyMsoZKxhgzfqQbZj+PM89uC7ASWAv8IFOLMulZPr9m3ISv8Vb2nEouBW9jxpNoVPn760d4bNNB1m5ppMMfSlwrLHDx9gW1XLNkOm8+rRpvgSuLK50wfisiO3HKjG8VkWqgN8trygvxUt1oVOkOhGnpCgBYQyVjjBlnhg2zsZmyP4k1f7gv80syuWi8lT2nkkvB25jxYGfTUR7beJDfvnKQhvZj5whdAhedOoUVS6Zz2Rm1lBVZI6expKqfF5G7gKOqGhGRHmBFtteVT6yhkjHGjG/DhtnYC2S1iHhVNTjc/c3ENN7KnlPJpeBtTLY0tPtZs+kgqzc1sLOpM+naohmTWLFkOu9aPJWasqIsrdCISDFOg8ZZOBMHpgHzgMezua58Yw2VjDFm/Eq3zPh14K8isgbojt94ooPZTX4ZT2XPqeRS8DZmLLX3BFm7pYnHNjXw4r4jSddOqipmxZLpXLNkGnOqS7O0QtPP/cAG4MLY1/XAr7Ewa4wxZoJIN8wejP1xkbkh7caMmVwJ3sZkWm8owh93NPPYpgbW7WomFDnWinhKqZerFk1jxZJpLJlZgTUXGndOUdV/FJHrAVTVL/aXZIwxZgJJK8xmajC7McaYsReJKs/vaeWxTQ08ubWJrkA4ca3Y6+ayM+pYsWQaF586hQK3NXIax4Ii4iM2Kk9ETgEC2V2SMeZ4RaNKa3fQzmcbMwLp7swaY4zJYarK1oajPLapgd++cpDmzmOZp8AlXHJaNSuWTOMdC2qTmqOZce2LwJPATBF5CLgIuCmrKzLGHJdoVNl1qDNpvvF9Ny5jXm2ZBVpjUrDfWIwxZhjrdjazav1eDrT1MDPHzljvb+1m9aaDPLapgb0t3UnXzj6pkmuWTOOdi6Yx2UaN5JRYOfFO4P8A5wMCfFJVD2d1YcaY49LaHUwEWYD6Nj8ffuAlHr31ImtAZkwKFmaNMSaFdTubuX3NNjxuocLnobmzl9vXbOMOGLeB9nBXgN9tbuSxTQ1sfKM96dqpNaVcs2QaK5ZMZ+ZkG0eVq1RVReQxVT0b+F2212OMOTHBcCQRZOPq2/wEw5EsrciY3JAyzIrId4mdxRmMqn5i1FdkjDHjyKr1e/G4JVF6W+wtoCcYZtX6veMqzHYHwvx++yEe29TAX3YfJhI99r/u2vJCrl7sBNgzppVbI6f88YKInKOqf8/2QowxJ8Zb4GZGpS8p0M6o9OEtcGdxVcaMf8PtzL4U+3gRsAD4Zezr9+CMAzDGmLx2oK2HCp8n6Tafx019W0+WVnRMKBLl2d2HeWxTA09vO4Q/dOwd/LKiAq5YWMc1S6Zz3pwq3HbmKh+9BVgpIvtxxuYJzqbtouwuyxgzUlUlXu67cdmAM7NVdgTEmJRShllV/QmAiNwEvEVVQ7Gv7wGezvjqzLBy+SyfMblgZmUxzZ29SU2R/KEIMyqzU6Krqrz8RjurNzXw+OZGjnQHE9e8bhdvmV/Nu5dOZ/m8Goo89o5+nrsi2wswxowOl0uYV1vGo7deZN2MjRmBdM/MTsOZL3sk9nVp7DaTRbl4ls+YXLPykjncvmYbPcEwPo8bfyhCKKKsvGTOmK7jteYuVm9qYPWmg7xx5NiusAicN3sy1yyZzhULpzKp2JPiWUw+UdX92V6DMWb0uFxizZ6MGaF0w+xXgY0i8qfY128GvpSRFZm05cpZPmNy2fL5NdyB899bfVsPM8awAuLQ0V5++4rTiXhrw9Gka6dPLeeaJdO4esk0pk7yZXwtxoxHNpfTGGMmtrTCrKreLyJPAOfFbvq8qjaleoyI/Ai4CmhW1YWDXF8OrAb2xW76jareke7CzcCzfEf9IQ53BXi9tYfr733BSo6NGSXL59eM2X9LR3tDPLm1idWbGnhuTyvapwXf9AofK5ZM45ql0zmttmxM1mPMeGVzOY0xxqQVZmPz7N4OzFHVO0Rkloicq6ovpnjYj4H/AR5IcZ+/qOpVaa/WJOl7lu+oP8TBDqcDXqFbrOTYmBwSCEdYt6uF1Zsa+MOOZoLhaOJaZbGHdy6ayool0zl7VqX9km5MTLpzOW331hhj8le6Zcb/C0SBtwJ3AJ3AI8A5Qz1AVdeLyMknuD6TQt+zfIe7AgAIQk15kZUcGzPORaPK3/YdYfWmBtZuaeRobzhxrcjj4h0L6rhmyTTeNLcab4Eriys1442IdJJ6bF75GC4na9KZy2m7t8YYk9/SDbPnqepZIrIRQFXbRGQ0eoVfICKvAAeBf1PVbYPdSURuAW4BmDVr1ih82/wQP8v31Sd20B10XryLCo69OKcaH2JdkI3Jjh2NR3lsYwNrXjlIY0dv4naXwEWnTuGaJdO5bGEdpYXp/u/ZTDSqWgYgIncATcCDOGN5bsBp1jghpDOXM93dW2OMMbkp3d+WQiLiJvZOsIhU4+zUnoiXgZNUtUtErgQeA+YOdkdVvRe4F2DZsmVDvhs90azb2cxXn9jB7pYuXOL8MqzAwfZeplWA2yWDjg+xLsjGjK36th7WvHKQ1RsPsutQZ9K1xTMmsWLJdK5aPJWasqIsrdDkqMtU9bw+X39fRP4GfC1bCxpL6czlTGf31hhjTO5KN8x+B3gUqBGRrwDXAf95It9YVY/2+XytiPyviExR1cMn8rwTRTyQNnf24hYhiuIcs1NcAk0dvdSUFw06PsS6IBuTeW3dQX63pZE1mw7y4utHkq6dXFXMiiXTuWbpdGZPKcnSCk0eiIjIDcAvcN7LvB6YMCktnbmc6ezeGmOMyV3pdjN+SEQ2AG/DKWW6RlV3nMg3FpE64JCqqoicC7iA1hN5zokkHkgjUcUtgtvlAiJEVRERFLjj6jMGDaf9uyBD6pJkY0x6/MEIf9hxiNWbGvjzqy2EIscKSaaUFvKuxU4jp8UzJuH01TPmhLwXuDv2R4G/xm6bMIaby5nO7q0xxpjclW434x8C31XV7/W57Uuq+qUUj/k5sByYIiL1wBcBD4Cq3oOzu/svIhIG/MA/qaqVEKcpHki9bhfhiCICBW4Xkagya3IxNWVFQ+6y9u2CHOcPRQYtSTbGpBaORHluTyuPbWrgqa1NifPrACVeN5ctrOOaJdO58JQqCtzWyMmMHlV9HViR7XWMZ+ns3hpjjMld6ZYZXwacLSLfUtX4qJ2rgS8N9QBVvT7VE6rq/+CM7slrmWq0FA+kU0oLnZE8UVCcXdpQRActL47r2wXZ53HjD0WGfYwx5hhVZXN9B49tauC3rzQmuokDFLiE5fOqWbFkOm8/vRaf18oZTWaIyGnA94FaVV0oIouAq1X1v7K8tHFluN1bY4wxuSvdMNuMs8v6kIicB3wSp9zYpJDJRkvxQOpxC9MmFXGoM0A4AqdUl/C5y+enfP54F+RV6/dS39bDDOtmbExaXj/czWObGliz6SB7D3cnXVt2UiUrlk7nnWdOZbKVMJqxcR9wG7AKQFU3i8jPAAuzxhhjJoR0w6zEGja9S0S+BPwZmJSxVeWJTDZa6h9Il86sHFEgXT6/xsKrMWnY39rN2i1NPLG1kc31HUnXTqstZcWS6Vy9eBozJ1uZvhlzxar6Yr/z1+Gh7myMMcbkm3TD7Jr4J6r6JRF5Cfh0ZpaUPzLdaGmwQGrzY405cXtbunhiaxNrtzSy7eDRpGt15UWsWDKNFUumc/rUMmvkZLLpsIicwrGxedcBjdldkjHGGDN20u1m/MV+Xz8OPJ6RFeWRsW60ZPNjjTl+rzV3snaLE2B3NiXPgq0pK+SKhXVcceZUzj15sjWPMePFR3FmsM8XkQZgH/C+7C7JGGOMGTspw6yIPKuqF4tIJ7F3fuOXAFXV8oyuLseNdaOldMuabffWGKeJ06uHuvjdlkae2NLI7uaupOt15UVccWYdV545lbNnVVqANeOOqu4F3i4iJYBLVTuHe4wxxhiTT1KGWVW9OPaxbGyWk1/GutFSOmXNtntrsmG8vIGiqmxvPMoTW5pYu7WRvS3JTZymV/gSO7BLZ1ZYgDXjmoh8Ergf6ATuE5GzgM+r6tPZXZkxxhgzNobbmZ2c6rqqHhnd5eSfsWy0lE5ZcyabUuWK8RKsJopsv4GiqmxtOMrarc4O7OutyWfWZ072ceWZU7ly4VQWzZhkZ2BNLvmgqt4tIpcBNcDNOOHWwqwxxpgJYbgzsxtwyosFmAW0xT6vAN4AZmd0dWZE0ilrznRTqvEu28FqIsrGGyiqyqYD7YkmTvVt/qTrJ1cVOwH2zKmcMa3cAqzJVfF/ca8E7lfVV2QC/cscjSqt3UGC4QjeAjdVJV6rpjDGmAlmuDLj2QAicg+wRlXXxr6+Anh75pdnRiKdsubBdm8PdwXoCUa4+K5n8n6n0namx95YvYESjSobD7Q5Y3S2NHKwozfp+pzqEt4ZC7Dz66wLsckLG0TkaZw3lv9dRMqAaJbXNCaiUWXXoeVpOpgAACAASURBVE4+/MBL1Lf5mVHp474blzGvtswCrTHGTCDpjuY5R1U/Ev9CVZ8QkTsztCZzAoYra+6/e3u4K0BLV5CaMi8VPg+vt3ax8qcbKC10c1pted4F24m+M50NmezqHYkqG/a3sXZLI09ubaLpaHKAPa22NLEDO7em1AKsyTf/DCwB9qpqj4hU4ZQa573W7mAiyALUt/n58AMv8eitF1FdVpjl1RljjBkr6YbZwyLyn8BPccqO3we0ZmxVZtT1PSdaVliAqtLhD9ETjFBT5mVKaRGdvSFau0IoSm8ompcluGM9LsmMflfvSFR5cd8RJ8Bua6KlM5B0/fSp5Vy5sI4rzqzj1BrrXWfyj4jMV9WdOEEWYM5Ee6MmGI4MOD5Q3+bHH4rQ0NYzorJjK1c2xpjclW6YvR74IvAoTphdH7vN5ID+50TjYeLOFQv5z9VbEzuVLZ0BRMCFEIxE87IEd6zHJWXTeGl0NRpdvcORKC/sPcLarY08va2Jw13BpOsLp5dz5ZlTuWLhVGZPKRnln8CYcefTwC3ANwe5psBbx3Y5Y89b4GZGpS8p0M6o9LGnuYubf/z3tMuOrVzZGGNym6hq6juIuIGvquptY7Ok1JYtW6YvvfRStpcxLg0VXq6/94UBu5Etnb30BCMEwlEEqJtUREO7H7dL0CgUuIU51aWJHdy/fC5/fjeK/3Mai3FJY2Gwv3cg8QZG39B+x9Vn5MzPGopEeW5PK2s3N/L09ibaekJJ1xfPrHB2YBdOZVaV7ayb4yciG1R1WbbXMVIiUqSqvcPdNhbG+rV5sBD69esW8bUnd7HxQDvghNvhyo5bOgO8+3//OiAUW7myMcZkV7qvzcPuzKpqRETOHp1lmUxJ1aW3/znRo/4Qrd1BoqrMqPDR0N5LfZsftzglnABTSouA/CzBHctxSZk21N97sceVk42uAuEIf33tMGu3NPH77Yfo8CcH2LNmVXDlmVO5fGFd3v17acxxeA44K43bRkxEZgIPAHU4TaXuVdW7T/R5R4vLJcyrLePRWy8iGI4A8LGfbUwEWXDKjuPXhtK/XHnpzAo+svwUeoJhWjqxkmNjjBnn0i0z3igia4BfA93xG1X1NxlZlRmxVF16+58TPdzlnDEsKnBT7vMCwqHOXiIRxeUSKos9lBU5j8/XEtx8MdTf+77WHubWlCbdd7w2uuoNRfjL7sM8saWR3+84RGdvOHFNBM45aTJXnFnH5QvrmDrJl8WVGjM+iEgdMB3wichSjo3oKQdG612eMPAZVX051iV5g4j8XlW3j9LznzCXSxK7py2dAVq6ks/Pz6j04S1wp3yOvuXKS2dW8G+XzeNzj2y2kmNjjMkR6YbZyTgNn/rWmipgYXacSNWl984VC5POicZLi+O/BJT7nPDa4Q9x54qFeVWCm++G+nsHZ1d9vDa66g1FWLerhSe2NvLHHc10BY4FWJfAubMnc+WZU7nsjDpqy4uyuFJjxqXLgJuAGcC3+tzeCfzHaHwDVW0EGmOfd4rIDpwAPW7CbF9VJV7uu3HZgLOvVSXetB/3keWnJIIspN8h2RpIGWNM9qQVZlV1QrT6z2WpuvT2b8BT7HVTUuimrMgz6H0tvOaOof7e50wpoTsYGVeNrnqCYdbtauF3Wxr5085meoLHyv9cAhecUsUVC50Aa2fVjBmaqv4E+ImIXKuqj2T6+4nIycBS4G/9br8FpxEVs2bNyvQyUupfdpxuqOz7uJ5geNAOyalKla2BlDHGZFdaYVZEinDm2Z0BJLZJVPWDGVqXGaHhuvT2Danxc5bjKeiY4zPU3/sX3jkfOLEOwqOhwx/imZ2HeGJLE39+tYVAOJq4VuASLjx1ClcurOMdC2qpKrUAa8wIPS4i7wVOps/ruareMVrfQERKgUeAT6nq0b7XVPVe4F5wGkCN1vc8Xn3Ljo/ncS2dDNohOVWpss27NcaY7Eq3zPhBYCdOadMdwA3AjkwtyozcSMafjMaolIkuV8beZGNNh7sC/H77IZ7Y2sRzrx0mHD32O67HLVx86hSuOHMqly6opaI4dQmgMSal1UAHsAEIDHPfERMRD06QfWgi9Mg4nlLloebdDtd4yhhjzOgYdjQPgIhsVNWlIrJZVRfFXuCeUtUxn9dio3lMtvXtIJyrY29G28F2P09ta+LJrU38/fUj9MmvFHlcvPm0aq5YOJW3zK9hUr8zvsZkWw6P5tmqqgsz9NwC/AQ4oqqfGu7+4/21Od1zrSM9/2qjfYwxJjNGbTRPTHw+RruILASacMqajJlwUnWOnkhh9vXD3Ty5rYkntjbxSp9xGAClhQW87fQaLj+jjjfPq04602uMGTXPiciZqrolA899EfB+YIuIbIrd9h+qujYD3yujRnKudaSlysfbeMoYY8zoSPc3zHtFpBL4ArAGKAVuz9iqjBnHUnWOzmeqzi+ET251dmB3NnUmXa8s9vCOBbVcsXAqF55aReEwIzGMMSfsYuAmEdmHU2YsgKrqohN9YlV9lmMjf3LGYDurmTzXeryNp4wxxoyOdLsZ/yD26Z8B6xJkJrRUnaPzjaqyub6DJ7Y28dS2JvYd7k66XlNWyOUL67j8jDrOnT2ZArcrSys1ZkK6ItsLGGupyoCH2oEtLyrI6LnW4208ZYwx5sSlDLMi8ulU11X1W6mum8GNl+ZBx+M7f3iVHzy7j+5ghBKvmw9dPJtPvP20bC9rTA3XOTrXPbP9EN/8/avsP9JNMKwEI9Gk6zMn+xIjdJbOrLAdCGOyRFX3i8jFwFxVvV9EqnEqp/LScOXCQ+3A/mrlBSPuUmyMMSY3DLczWxb7OA84B6fEGOBdwPpMLSqf9W0eVOHz0NzZy+1rtnEH2ek8OxLf+cOr3P3Ma7gEClzObuTdz7wGMKECbT52gw5Fojy/p5UfPbuP9btbkho4AUybVMS1Z8/g8oV1LJhajtMbxhiTTSLyRWAZzmv0/YAH+CnOede8M1y58FCdhd2CnWs1xpg8lTLMquqXAUTkaeAsVe2Mff0l4NcZX10eyuXmQT94dl8syDqlpC6BcDTKD57dN6HCLCTP7c1VgXCEZ3cf5ndbGvnD9kMc7Q0nXS/yuJjk8+B1u5hRWcxnLp2XpZUaY4bwbmAp8DKAqh4UkbLUD8ldw43B8Ra4B92Bdblcdq7VGGPyVLoNoGYBwT5fB7FuxsclE82DxqpsuTsYoaDfkUiXOLePJ7lcxp1pvaEIf9l9mLWxANsZOBZgRcDjcjG5xMMknxdv7C9bVfO+uZUxOSqoqioiCiAiJdleUCYNFVbj5cKpOgtn41zrSMf8GGOMGbl0w+yDwIsi8iigOO8GP5CxVeWx0W4etG5nM7c9/ArtPUHCUedd6pf2H+Hjbzl11HdLS7zO+dC+r8VRdW5Ptb6xDJa5XMadKb2hCOtfbXEC7I5muvoEWJfAebOruPLMOi47o45P/mITzZ29iSAL+dvcypg88CsRWQVUiMiHgQ8C92V5TRkz3Bic8dRZeCTjgIwxxhy/dLsZf0VEnsQZAwBws6puzNyy8tdoNw+668mdtHYF6duiJxRRvvun11g0o2JUA9yHLp7N3c+8RjgaxSVOkI2qc/tgshEsc7mMezT1hiL8ORZg/zhIgD1/ThVXnuk0ceq7W5Hvza2MySeq+g0ReQdwFOfc7O2q+vssLytj0gmr46WzcCbHARljjDkm3Z1ZgE1AY/wxIjJLVd/IyKry2PL5NVxX3z6gI3DfoDWS3cy9h7uJ9+pJ9ORRJ9COdoCL7/Sm2804G8Fyos6ABSfArtsVD7CHksq/XQIXnHIswE4pHfyXqXxsbmVMPouF17wNsP2NNKyOdqlvus833PneTK/TGGMmirTCrIh8HPgicAiIEBvMDpzwYPaJZt3OZh5+uYHqskJmxXa+Hn65IbGLejy7mTrE1y++foTr731hVMPIJ95+Wtrly9kIlhNpBizEA2wzv9vSxDP9AqzbJVyQ2IGtpWqIANtfPjS3MiafiUgnA//Xn6Cq5WO4nKwZLgCOdqnvSJ7P53Vz/03nUOx10+4Pcc+6PbR0BQYdB2QlycYYc/zS3Zn9JDBPVVszuZiJYLjdypHuZs6uKmbXoS7ntxpN/u2mqMCV1TOj2QiWE6FM1h+MB9hGntnZTE+/AHthnx3YyTZ6wpi8o6plACJyB9CE09dCgBs4NlIvrw0VAGvLC/EHnXDrcilNHb188z2LE4HyREp90y0djkaVQ0cDfGH11sTavn7dImrLiwYdB2QlycYYc/zSDbMHgI5MLmSiGG63cqS7mZ+/4nQ+/vOX6QxEkoJsgUuYUlp4XKW9o9W0KRvBMl/LZP3BCH+KBdg/DRFg33nmVC61AGvMRHKZqp7X5+vvi8jfgK9la0FjZbAA+O3f7+Kzl59Oa1cAlwjFXndSoLzr2kV846ldQ5b6DiW+A9wTDPOFqxZwz7o9bDzQnvi+/Z9vsLXd9vBmfnPrhaNSkmyMMeaYdMPsXmCdiPwOCMRvVNVvZWRVeWy43cqR7mYun1/Dd68/i68+sYN9rT0EwlEKC1zUlRdRHgvFIyntHc2mTdkKlvlSJtsTDPOnnc4Z2Gd2NuMPHfvFpsAlXHjqFN55Zh2XLqij0gKsMRNRRERuAH6BU5hzPc5RoLzXPwAunVnBBy6czU33v0h9m5/7bzqHf/3VpqRA+blHNnPnioWDlvoOZbAd4Hgo3nigPWk00FBri3//UDjKYIYbOWSMMWZo6YbZN2J/vLE/5jgNt1sZv364q5eOnhCBSJQCl4sVi6cN+Zx9w9v1974wZBhOZ8d1tJs25UuwHCs9wTDP7Gxm7ZZG/rSzZUCAvejUKbEd2Foqik/8P0WbyWtMTnsvcHfsjwJ/jd2W9/oHwI8sP4XPPbI58XWx1z1ooJw9pWTQUt+hDLbL+rlHNvOFqxZw5+Pbk0YDDbU2SB1Ohxs5ZIwxZmjpjub5cqYXMlEMt1sZ73b8vXV7iESVogI3ZUUFPPjCftZuaaQrGEkZOoYKyxfMmZzWjutE7gacLd2BPgF2VzO9oWPv3nvcToC98sypXLpgdAJsnM3kNSa3qerrwIpsryMbKn0efvah82juDNDaHaSuvCgpPLb7Q4MGyuJC94iaKg21y3p6nTMiaLCuwyMNp+NpPq4xxuSadLsZVwOfBc4AiuK3q+pbUzzmR8BVQLOqLhzkuuC8m3wl0APcpKovj2j1OWq43crn9x5xXnRju6OdvSHq2/x0BsKcWl2aMnQMFZaH23Fdt7OZu57cSUO7n/o2P0UFLuomFVFW5KG1O0B3IMLFdz0zaJC23b2R6w6E+ePOZtZubmTdqwMD7MWJAFvHpGJPimc6fjaT15jcJiL3M0hXY1X9YBaWM2aiUWV3S1dSWHzoQ+clhdd71u3h69ct4raHNycFyiklAxsq9e2K7Clw4XZBdyCCWwSXyKCh2OctGLI50/GE0/EyH9cYY3JNumXGDwG/xAmnHwE+ALQM85gfA/8DPDDE9SuAubE/5wHfj32c8PrvjrZ0BnAJRKKKiAwbOgYLy/+5euuQO67rdjZz28Ov0NYTwoVz4Ko3HOXAkR4m+Tx09IapLvUOuntnu3vpa+8J8ocdzTy1rYn1r7YQCCcH2DfNrebKM6fyjgW1TPJlJsD2ZbvwxuS8x/t8XgS8GziYpbWMmcFKf7/yu+2sev/ZrHxwA/Vtflq6AtSWFfHrlRcQikQpcLuoKS0cECgHOxP79esW8bUnd9HSFeB7713KPe87m4/8dMOISoAtnBpjzNhIN8xWqeoPReSTqvpn4M8i8udUD1DV9SJycoq7rAAeUFUFXhCRChGZqqqNaa4pqzK5G9m/CVQgHCUSdd5839vSRXVZIaWFBSMKHakaS61av5fO3jBul+ASF+FIlHBUiSiJIFtd5mzIpzNKqKWzl0/8YiPlPs+E36lt7PDz9LZDPLWtib/tO5L4ewTwul28aa6zA/v2MQqwfU20mbzG5BtVfaTv1yLyc+APWVrOmImX/i6dWcFHlp9Chc9Duz9EbVlhYjfUU+CiqzfMe1Y9n3J261Cdh79w1QJWPriBj/5sI9/+hyX8auUFqKqVABtjzDiTbpgNxT42isg7cd75nXGC33s6zsifuPrYbQPCrIjcAtwCMGvWrBP8ticu07uRfc+9xoMlgMcF4ahysL2XqlIPJ1eVHtdz+jxuDncFaOsJ0eEP0dkbJhSO4vW4AChwu3C7lIgqUYUppcnvLqcaJXTUH6K1O0hUlVmTiyfcTm0wHOXlN9r486strH+1hW0HjyZd93ncvPm0ai5bWMvbTq+lvGj0A2y6b7RMhJm8xkwwc4Hsv0hmmLfAzaULavjAhbMTTZ9mVPpY9f6zOb2uHJdLaOkMcOOPXhx2dutQZ2Ljr2v1bX6iqqgq0+2NPmOMGXfSDbP/JSKTgM8A3wXKgU+d4Pce7G3NAWd/AFT1XuBegGXLlg16n7E0GmcNUwWOvudeX36jDa9bCEcVl7gQIIpypDvE/3t3+qGj73PuPnSUzkCEySUeqkoK6ertIgqEI1E8bqfboqozv9TnduEPRVKOEtp3uIvO3jDByLEdZJ/HnVZJdD7Y39rN+ldb+POrh3l+z2G6g8mTMSqKPbxtfi2XnVHLJadVU+TJ3LiFkbzRkq8zeY2ZKESkk+TXzSbgc1lazpip9Hn4v+9cwA0/+FtSWF354IZEWE13dutQnYfb/aHE5z3BiI3JMcaYcSrdMNumqh1AB/AWABG56AS/dz0ws8/XM8iRsz4netYwncARP/d68V3PUOHz0Nkb5nBXgGAkitftwudxDQgdQwXk/rdPKS1kUrEmAmrdpCIOHOkhEgWXOOc4owoVhR5uPP8kHn65YcjduwvmTObF14/gEnAJhGK/VpV4j73w59s5zO5AmOf3tDq7r7tb2N868GebWekjElWCkSinVJfyrkVTxyQkjvSNFhudZEzuUtWybK9hrMWbPwXD0ZRhdbCQeumCGkSEhraeRLnwYJ2H779pGW6Xi9UfvYiyogI8brExOcYYM06lG2a/C5yVxm0jsQb4mIj8AqfxU0eunJc90bOGIwkc8e9V7vNQHgvQPcEwNWVFSfcbKiBfV9/Owy83JN3+ems3Myp8iceWFXmYUenjYHsvTpNpOHVKMZ+/4nSWz69h0YyKIXfvnt97hJoyL0f9zs6sS0CEpN3Jkcy5HY+iUWVH09FE6fCG/W2EIskFApNLvLxp7hQumVuNW4Rv/eFVfF4Xkz1eDncFxqzU2po6GTNxiMgfVfVtw92WTw53B/jwAy/xhasWDLqjKiJEozogpF66oIZPvO00/mGQM7Tzasv4za0X0hOI0NIZ4Eh3iM/8+pWk+xljjBmfUoZZEbkAuBCoFpFP97lUDqSsuYk1olgOTBGReuCLgAdAVe8B1uKM5XkNZzTPzcf3I4y9dM4apgpuwwWOvo8tKyygI1bulOpc41AB+QfP7qO6rDDpdo/LxaHOAOW+Y+80F7hdLDt5Mj+/5fwBP+9Qu3frdjbz8httRKJRCgvcTI8F5IY2P4FwFFUd8Zzb8eJwV4Bndx9m/astrN99mMNdgaTrbpdw9qxKLjltCpecVs3CaZMSDUGuv/eFrI28saZOxuQ/ESkCinFeXys5dmynHJiWtYWNgd6QUz58z7o93HXtoqQzs99771m09QQJR6JMm+RLGo8jIokgC8lnaKtKvIQjyuGuABXFHr7+1M5hz9oaY4wZH4bbmfUCpbH79S1nOgpcl+qBqnr9MNcV+Ggaaxx3hjtrmKqMGJwmSU0dvRQWuJhSWki5z5O0e3n7mm0EwxE6e8M0dfQiAkVuIRiODnqusX+orC4rpKzIg8/jpjsYYVa/M5q15YXUt/eeUOOf+DpFwCWSaEw1raKIKWVeugMROvyhtOfcZlsoEuXl/W2J0uGtDUcH3GdGpY9LTqvmkrnVXHhq1ZDNm7K5O2pNnYyZEFbi9K2YBmzgWJg9CnwvW4vKlL5zYN2xua8bD7Tzjad28YWrFlBV4qW2vIg7H9/G09ubk5pBxQNoQ1vPoGXJ0Wh0wGie7733LD7+1rkc7OjlnnV72HigfcBZ20z+jNYx2Rhj0pcyzPYZw/NjVd0PEHsXuD0WRiesVGcNhwpuX31iBz2hKCWFbvzBCMFIlIMdfgKxF6946AuGI7R2B3EhCBCKKPUdAebXlg4aZAcPlc7uYYnXPaCBU4HbxWk1Tifk3c1dAMyuGtnOXfxnrC0r4mCHH1EApamjl5ryIr7zT4uS1plqzm02qCqvt/bw7GvO7uvze1rpCoQHrO/8OZN582nVXHJaNbOnlCTKsFPJ5u6oNXUyJv+p6t3A3SLycVX9brbXk0n958BeuqCG799wFv/y0MtsPNDOnY9v53vvPSsRZMEJqXf/4VW++K4zAOf8bJHXxf03nUOx1027P8Q96/bQ0hUgogwYzfPRn73MF65awJ2Pb+euaxfxk+f2DdsA6kTC6GCzbgcbI2SMMWag4cqMbwd+pao7RaQQeAJYAoRF5L2qmvfz7I7nnOdQO3O7m7uYUeljkq+IwgI3LZ0BesMReoIRvvp/nPD3n6u30tkbRhWC0WhSm8q9h7tZ+dMNlBUVMLemLGnHc6hQ+aGLZw/awGnF4joefrmBGZW+xO0jKfuN/4zidV5oneZUigJ3XH3GkGd/s1n+Wt/Ww/N7Wnl+byvP72mlsaN3wH3m15UlwuuykyspPI4OltneHbWmTsbkNxE5BzgQD7IiciNwLbAf+JKqHsnm+kZT/zmw8cD645vPpbUrQHVZIf5QhKe3NyfmztaUFTLJ5+HLv3UCbvy87BdWb02Exa9ft4jasiIi0cEbSVX4PNS3+fncI5v52YfOS9kA6kTD6GCzbq202Rhj0jNcmfE/AnfGPv8A4AKqgdOAn5Dnw9m/84dX+d66PYSjUQrdLiLRaFqBr/+4Gq/bRVmR84/aFyv5LSvyUFbkQVXp8IcSzzezspjGdj+RQfa9gxHF44aeQDhRutwdCDF1ki9lqBysgdOJlv32Dafx5lTxxlTjZaZp89HeRHB9bk8rbxwZuAtcWezh4rnVXDLXOftaW140yDONjO2OGmMybBXwdgARuQT4KvBxnDeb72WYY0C5ZLARO09vb+bjb51Luz/ElLJCyos8g86dvevaRbR0Brn27Jl85KcbksLibQ9v5ucfPp+Gdn/K0Tz1bX7cLkkZSk80jKY7RijbrBTaGDMeDRdmg33KiS8Dfq6qEWCHiKTbCXncSbXbGr+2u7mT1u4gAngLXEQUWrtCVJUybODrP64mGInS0hVkanlhypmt4IS+F/a1DvncbpcQimoifIYimnjOoULlYDt1J1r2O9JwmumAp6rsb+3hpf1tvPT6Ef7++hH2tHQPuF9ZYQHnzZnMBadM4YI5Vcyvy0wZl+2OGmMyyN1n9/UfgXtV9RHgERHZlMV1jTqJnZHtP2InqnDn49sTpceDzZ393COb+cJVCxK7rH3Vt/k5dLQXVeWb71mc1L34rmsX8Y2ndgFOsAUnyA31WnEiYTQa1UF/xhmVvnE129ZKoY0x49VwgTQgIguBQzjzZf+tz7WcbI86XHOm+LWegFPqq0Ak4rzYhKJRGjuctv3rdjYP2eH3B8/uA1UiChGckFjuK6CsyEN3MEJPMEw4EuVQZ4BQRPG6Xazb6ZROrVq/l1SnkVXB63ZB7Hm9BS5CER3xjufxlv3277Qc31lOJ5yOZsALRaLsaDzK31+Ph9e2AR2HAYq9bs45eTIXnFLFhadUcca0SbjthdcYk9vcIlKgqmHgbcAtfa7l7BvNg3ELA7oWf/6K07nxRy8mlR5/9C1zhywXbveHBg2Lrd1BKnweoqrcuWIhFcUeJvk8/PLF/Xxk+SlUlXiZXOLlgef2cc1ZM4cMbp4C13GF0XhA/Pbvdw34Ge+7cRlVJd5xsxtqpdDGmPFquBe9TwIP45QWf1tV9wGIyJXAxgyvLSNSldcCiWuhqOISiCqEowp9Tq+KMGi5cTwodwfDFLgFVIiiTCktpKzIGbFz54qFfPWJHbze6sfjcjGjoohgJMptD7+CApN8nkTTpniYFiERcFWhuqyQzl6nI7IC1aWFIwqVcHxlv/3fCIg/5s4VCzO6C9kVCLOrqZPtjUfZfrCD7QePsrOpk0A4OuC+5UUFLDt5MmefVMl5syezeGYFnlj4N8aYPPFznOaMhwE/8BcAETkV6MjmwkZTNOq8Kbx+1yEe+tB5uESIquJ2CdWlhdS3+fmHs2fw4Uvm4C1wGjx954+72XigHThWLvzIhgOset/ZrIyVGsd3X3/y3D5uvOBkPG4XN//47wD8w9kzuOH8k/joz15Ouu+3f7+Lr7x70YDgFo0qXb1hvn7dIm57eGAYTaVvQGzpDCY6M0+r8FEXO/LSfzf0gQ+eS2lRAaFwdEzDba6UQhtjJp5hR/Oo6vz+N6rqWpw5sTkn1dgUhcQ1r9tFQKNEVZOaMAlQW1ZEgVsGlBvHg3JRgZtwvCQp6pxjLXALMyqLWT6/hlXr93JyrFQ4rqHNDwJTJ/mYUlrIwQ7nRcOFU2YVCEcpcAtVpc452wNH/Cjgcgn7WrspLSzgG9ctTjtUHk/Zb6bG60SjStPRXt440sMbrT3Ox9ifA0d6aO0ODvnY6RU+zjm5kmUnT+ackyczt6bUSp6MMXlNVb8iIn8EpgJP9zkO5MI5O5vz4ruWj718gGuXzeRguz8pLH79ukW8tO8Ib55fw80//nvi9v+94Sx++vx+ntvbyj3vO5uqUg8Lp51BkcfFAx88lyPdQVq7g/zkuX3cfNFsyos8eAtcPPyRC2jtDlLidSeCLCSXK/cPbvHXriPdQSJR5XvvXUp5kYeIQol3+BLhvgFx44F2Vj64AYC/fu4tuFxCS2cgaTe0urSQQ0d7ufFHm8e81Ndb4B73pdDGmIlpuDB7akQNbgAAIABJREFUi4i8CfiZqr4+BuvJuOHKa+PXqssKOdjei1s00YxJgOpSL+U+J1D2PV/ad9ZrgctFJKqxJKoEwpq06xkP1M1He2npChCNPX/8tag8FqgPdwXoCUYoK3JTWlSQ2IF9raWLKFDgEgpcgkahvSfEV5/YwfL5NWl3YB5p2e+Bth7cAntbuhKNraaUetM+Z9vSGeDVQ528eqiT/a097G/tdgJrm5/gILus/U2v8HH61HIWTCvnjGnlLJoxiamTfGmv3xhj8oWqvjDIba9mYy2Z0Nod5Nu/38Vtl82nwC2JIAvHGjj98pbz+cd7X0i6/daHXuahD53HZy49DXHBtoZOir1uasoLuWfdHt62oJYKn4drz57Joy83cOOFJyeF4Z988NxBdyCrSryISOLs7GAjgz721rm8P1b+HJ91O6XEi8vlGnQHdbiA2H839CPLTxnwzyHTpb7xMudoNMqq95/Nygc3jGj3ebTXke1ya2PM+DPcnNn3i0gd8E8iMgvYDDysql1jsroMGK68Nn6ttLCAqlIPR7pDSCyg1k0qoqzICZp9A/C6nc3c9vArhCJRogqRaBQRKMBp1lTiLUgaVzOzsphdTUc50hNCcEKy4pQ0N3X4qZvko9znIRCOEI4q1WWFSWsF8LoFt8spnxUBjSr7WntSngk+0VLgUq+b11q6cYvgFiEcURraezm1uiTpfkd7Q+w+1Mmrh7rY1eSE111NnSl3WOPqyouYNbmYmZOLmTW5mFlVPmZNLuaU6lIqir2Jf94jHZdkjDEmdwjKR98yl5t//He++Z7FAwLmhXOqCEYGH6vT0hkgHFVKCgsGjOP52pO7EmXI9990zoAux2+09gwaMCeXePnSmq386zvmMa+2bMAZ0mvPnsmtDyXv6K58cENiXu1gO6hVJV7uu3HZgKZK8YDYP+wO1cgqU6W+gwX2n33oPNwuGdNAac2njDGpDNsoQlWbgP8GEJHTgU+JSBGwLhfnzA5XXtv32slVpfy/dx8LuW6XoKoDAvBdT+6krSeUOGOrOGdbo6pMrygeMHd15SVzEudz+vd6aukK0u4P4XYJkagypdQ7oKw3osd2cfvLVCkwOOXOziegaOznVDr8Yf7r8e282tzF7kOdg85vjXMJnFRVwuwpJcyaXMxJVcWJjzMqiynypC5ZymRYN8YYk33RqNIdjPC9P+12zpGWevn1ygsIhCN43C7a/SHm15XR2NE7ZGOnU6pLuOn+vw/Yzb1zxUJu/vHfmVHp46Sq4gHh8Dt/3M33bziLf3no2JnZe953NoUFLj57+XwOdwVp9zs7hNWlhYluyVWl3pTzagfbQXW5hHm1ZTx660WD7jj2D7s9wciYlvoONuN3e2PnmDd9suZTxphURtr1sAFoAt4PvFlEelT1udFfVmalKq8d6lqqALz3cDcuAbfLjRAlokpUIRTVAUE2/j1SiUQUtzhh1tuveZHP46YgtisaijpNokRAFObVlaY8EwxO+OwNRfGHIoQjzlojUSUahXDUOSMciX3e1Rumwx9K/DnQ1oPHLfSGo0kdlxuP9jodnPupKy9ibm0p8+vKmFdXzrzaMubWlg4bWFPJZFjvy3Z/jTEmO1q7g3QFwnzgwtmJJk1TK3y80drDN5/eSXWZl//7zgWoKv97w1mJHdF4s6b1uw6xYGo533zPYtr9Ie5Zt4eNB9qpb/Mzc7KPX95yPj1BZzezfzhs6QrQFQhz54qFnFJdQlShwx9MlDPHy4frJhXy2cvnJcp+77/pnGHn1Q62g+pyyZCBrH/Y9XndKXdyR9t4afo0XtZhjBmf0g6zInIp8A3gV8BN8c7G+aJ/eLlgzmTWbmlkX6sTAudMKeFzl88fMtBEokq4T7h0CxS4XQPuH/8+ffXtVgzg87qZU13K7uZODh0NUO479kLlD0WoLS/kYEdvUodjEbhiYR3P7z2SOPcbCEXo6A3R2euMGVr4xafoDoZTjv45Hh63cO7sycytKeO02jLm1ZVyak0Zk/qF6tEwXFgfDbb7a4wx2RGNKr2hMF63i588t48PXDg7aWTNN9+zmEKPi8aOXsp9HoLhCL/48PlEYl2OVZX3XnAy19/3QlLA/cZTu2jpCrCnpTvRaGn9Z5cn7cJeuqCGz19xOh3+EEd7wxQWuNje2JkoVYZj5cO/XnlB0vnV7/xx94COxv3n1R7PDmr/sFvh8w65kzvafF439990DsVed+JNgZauwJg3fbLmU8aYVEayM/sSToh9OVOLyZZ4eAlFInT0hGhs9/P83lYEcLsgHIUdTZ18+MGX+PhbTuUTbz8t6fHVJR7qO47NOE2ExXCUi+96JrGzB8fm2FaXemnuCibfHycEByNOM6TaskIOtPnZfaiTYCSaCK1FBW4qfB4C4WiiEVO5r4Dn9x5h5SVz+Owjm2lo89ObRlOl4RR73UzyObP3vAUu9rZ0U1jgotjrxmmgKfzXNZkdzdPX8c7HHYmx2v01xhhzTPxsZGGBi6gqt102nw5/iC9ctSCxu/qZX7/CQx86D49bONId4uM/3zRg3M7H3jqXC+dU8asN9YluxN94z2KKvW5++vx+wAlDe5q7+c4fd/PgP59LgUvo8IcT82tnVPpY9b6zqSge4pxqv/O6Gw+087Und/HLW5xg7UISR25Gcwc11U7uaIpGlUNHAwPOHNeWFyV+jrFqyjTc2WJjzMSWdphV1SPAkQyuJWtWrd9LKBKhtSvk7JLGblecIBv/X3Moonxv3R4WzahICjVlPi/SERhw/jWCE07jO3slXnciJBV7C2jzhxINnQDcLqFAxJlRixNqnXO4TtmyxBYVCEcSZ4fivG4Xbxzp5qntTTR3BpJuv/CUKi6eO4XpFU5jKZ/Xjc/jxuN24XY5zZxcLihwuXC5cBo8uYSSwoIBM1rjO8v1bT3MnFwy5uW3xzMfd6TGYvfXGGPGOxG5HLgbcAM/UNWvZvL7xc9G/ubWC2jpjLDywWPh5fs3nEVXIMzXntxFVJVQhAHNm+IjdG596GXuv+kcfrWhPnGttryQX/xt//9v7+7j46rLhP9/rnPmIZOHNmmbtEArtFippVuhrdha71rFB1SWyk29haWg6E2L4LKrK6K3Cy9vuv5+VlhdESotriKCgBbRLquAAhVFqhQKSEsLpRQbHpo0TdMkk8zDOd/7j3NmOklmkkk6k5lJrvfrFToPZ2a+58yQk2u+1/e6OHPuVP60ty1dDAqg5YjXOWDADOwdT3HbJWdknRUM2lbWFGXHNfzDD/7cJyA+rr6K+khlVd/Ntk71qk3P8YvL3521mnMxizINtbZYKTW+DXfN7Ji0vz1KR9QLZC2RgWm4qXLDeOnE/WfoOmNJLAEnS/ru/vaedNDl+oWbIkGbKbVhjp8Y4fWOHlxjmF4f4bXDvTjGMK02TDSe5FB3gim1Ydq74+khGDLGkvSC3W7HoftQD7Yl3PWX/QC8Y0Y9X/7wKSyZNbmgv/CH284nl5GuSR1Jf9zhGo3ZX6WUKmciYgM3Ax8EmoEnRWSzMWZnsV4zVVQpljDpFjDgBVKfu/Np1q6Yx3UrTsW2hIRjBi24ZGec96Y3RNh3MMqCkybztql13LN6MZ//6Xa27z/MhosW8i8/fzZrxeTm9h7CARmQPnzrxYtoqg0PmC3ccNFC/u2/dw4IiO+7fGnFBV651qkm/Iyv0S7KNFoz0kqpyjPug9ktu1o40pMgmvACw4BlDVjDmiJAOGANmKGrCwdozrEO1TXQ6weyqevdcYfuQ1GClvd8PUloPtxL2LaYVBPENdBUV8XhaJxwwCKWLUrOeP4UxzUIcP47Z/CNc/+uLE+eW3a1sO6BXbzY0kXQFqbWhYe9JrVQAXUuozH7q5RSZe4MYI8xZi+AiNwNrACKFsyGAjZXnjmbWDJ7y53qkJ0Oamc11uQsuDS9IZI+N2auXf3ax96OJd55t7XLy2BKBb+px/V/vlfbooQDNndduhhjDFUhmyk14ayzha7r8tDOlgHjrsRCRcPtgQuVu69KqcpmDb3J2JVaK1sdshG8wDDuuPQPAY3fbseyhLqqwIAZOjNERaVcsWjCha64y4Qqm7dPq+O4+iosy2LtinnctXoxb5s6gQOdsQHjGUzQFh5/uY3HXmwdxqNGR+p4v3KwG1vAuPB6Ry9JxxC0ZUBhrFJZPqeJ6845laa6Kjp6EjTVVWWtSq2UUmPYCcD+jOvN/m1pIrJaRLaJyLbW1mM/50yuCXHSlGoCljC9IdLnvlSgmgpqf7p1H99ftTC93fSGCOsvXMDT+9r4/qqFxBIO96xezDVnz00Xf5pUE+Ib/72TrliS61fO7xP8PrzzALd/5gw2XbaEDRct5ENzm1h33nz+/aEX+cSGJ3j9sDfb21RXlf6iODVbeEJDNY11YSzLyjru4RQqcl1Da2eM19qjtHbGcN0CV2zMU2qdaubxzdYDN5MWZVJKlcK4nplNFfqZGKnyTiBdcQxe8Gn3SxsOBywaqoOEAjZLZk3igo1b0ymyB7vjBASSIzzndPQkmVCVRATe7Ojhkh8/Sci2aKwNEfdTiQeZnO3DQDowLLfgK3W8U1UnBQEXDnbFmDmlpqzWpBZ79lcppcpctu9R+5yJjDEbgY0AixYtOuaoy7KEqqBN0nFzVgZOBaALTprM9x5+Md3n9XBPgpseeYlrzj6VXz7dzKKZk/o8/pZVC3Fcl/MWziAUsLjv6ddYu2Iep0yr5bZL3klrZ6xP8af1Fy7gjideZfv+w0xviBCNO0MGapNrQtz+mTN4tS1KdcgmGnc4cXJ13oWKCrUOtRCFmYbbA/dYizKNVjEppdTYM66D2cxCP9XhAHY0QdL/FtTgrW89oT5CTcimO+6tmVwyaxKbnn6tT9uWzt4kVUGLrvjIqge7Bv52KNrnrwRjDG8eifkVlQXXMQMKTGUTsq2yLVb0Uksn0ViSpGNIuoagZWH51Zt1TapSSpWVZmBGxvXpwOvFftGqoNDtem1hbvjEO2isC/O3tmh6djUzZfihnS0D0nq/fNYcHtndyiO7W1m7Yh4nTq4maFsc6U1w4EiMSdUhYkmXK97/Vm5+ZA+nTJtNKGD1abPT3N7D5Xc+zTVnz+VPe9v40acXURUMEE86tHbGBg20Ykm3TwXgWy9elHegVoh1qIUszDScHrjHEoCOZjEppdTYM67TjGc0VNOTcOjsTfC3Q9F0IAsQtCwCltDaGSOacNOpv0/sPZSuSCzi/dtQHaQ7PjA9OWVS9dD9VvsHqsZ4VYUtARFh2sQwQUuwB3nHBGisC5dlYLhlVwudvUkSrpdSbPyU7qTrpot56JpUpZQqG08Cs0VkpoiEgPOBzcV8Qdc1RGMuCcew/tE9dPQkiMaSnDi5mm9/8jTWrpiXDmob68JZ01z3H+rhSx8+BYBLbnsSEbjg1q187MY/8pVf/JWk6/LFe57lwh/8mVVLTsQ1hraueNb1n7ObavnO/zqNuGO44NatLF33KOeuf5zdBzqzpv/mCkZf7+jh3PWPD/n4QqxDzTWGtu543s+Rr4Fp1iMLPEdzzEqpsWdcB7Nrls3iiL8Gp/95Jeb3enVM3/Wc+9ujRIJ9U42m1HrfXFaHbGzLC0AtgeqgRVVASPqFmYYj4RpijkvShZANJ02upSpk42RM/vY/b0ypDZZtYLjhsb00+EG9IAT9wSddOGlSta5JVUqpMmKMSQKfBx4EXgB+ZozZUazXS83OfXLjVr54z7NcsnQma+/fyd/f9DgX//AvhAPeOeMrH5nDNWfP5eZH9qTXvcLRQk83PvwSV9/7HJctPzldxbh/e5nLlp+cnn01Rkg6Jmtg/GpblKYJ4QGVlXMFWrmC0ZbOWF6PL8Q61EoszFSJY1ZKlY9xnWa8fE4Tk2tCdPQkst4fdwxVgb5pu7natlQFLa9RuoBlWWAMPUkXY6A36bXuwQycgR2KAWJJw4xJEZ7Y2wZAU12YuOPSm3DSFYxdYzB4xSlGu/drPva3R5lSGyYcsDnYFSPuGGpCNpGgxQNfeG+ph6eUUqofY8yvgV+Pxmtlzs41t/fwrQd2s3bFPGZM8mZbRWBKbYjP3fl0OhX1s/9jJnd89l0cONLL4Z4ENzy4m+37DwPems5bVi3kml8+3+d1Uu17UpcPHOklErL54acX8ZnbMvrarlrI8RPD9CSyV1bOFmjlqgDcP3DN9fhCrEMdqgpxOarEMSulyse4DmYBuuIOQdsi7uT+BjAzbTdb25aOngShgEV3zMEYQyJLdeNjKUhoW8LPtnnN3xed2ABAezTeJ6COxpM01VVx1+rFI3+hIkj1k23tjHGwM8a0iVXMaqwFjo5ZKaXU+NZ/dm77/sNcctuTbLpsCVNqQyQcQygg3L16MW929PprUF32tUVZe//OAYHQxEiQSOhoC57M+w77X2CnAs219+/khk+8o08xqe89/CLfOHc+4WEEWtmC0Q0XLeS7v3txwBiyPb4Q61ALXZhpNFTimJVS5WPcB7MzGqp5s6M35/29SZd9bd0ELWHLrhavbQuw7oFd7HrzCI7x1rcKIHJsQWsuPQkvt3jFacez7rz5fODbv09/s5xSjkWfUq14grYwbUKY1w730tzewwn1hoBtlWU6tFJKqdGXa3Zu6oQqDnbFaDkS44SGKhJJw8pbngBgw0ULufep/ay/cAGXZ8zYrjtvPtc/uIu1K+Zxy6qFXHbHU+n7rl85n2894FVF/v6FC7j2Vztobu8hHOi76qq10yvYdNzESN6BVrZgtCES5AsfPIWdb3TmFagNVnQpH4UszDRaKnHMI6EVm5UqjnEfzK5ZNosn97UNus2k6iAJ13Dt5h1c59/mfdsrWBgcvHTg1ISsn1FcUNPrI/zHJ09DRHKmOpdb0adUK56j4xQOdPby5pEYC97SUJbp0EoppUZfttm5769ayNr7d/DQzpb09cbaED9f483Wugb+z0fnknRdbv/MGRzqjtPWHefHf3qFS5bOJO643Pjwi/zo0++koydBb8LLwPrKR+YQjTt0xZLp1jsTI0H+8a7tfYLeSMjOGWgBtHbGBgQm2YLR0Q7UjjUgLoVKHPNwaMVmpYpn3Aezy+c0cdzECPv7rYlJCdpCR49DTbhvIaiuWBJbJGtKcaED2Uk1If7t4/MQ8X7hZUt1LsdZzszWRwATIkHqqgJ09CTKLh1aKaVU6fQPGg1w3X/tSLfeaW7v4XsPv8hVHz6FpOtyUUZP2A2rFvLjP+3jzLlTqY8EOW/hDL71wG7+4/zTeGhnC62dcb704VP4yi/+mnWGdsOqhXzzNy/QWBtOpxpH4w6phnj9A63hBiZjPVBTQytE2yWlVHbjPpgFL/g8cVKEA0di9Cb79ooNWBauMbR2xpg5pYbm9ijReJJYwi1I0DrULO5bJkW47px5fWYwU6nOGx7bS3N7lOkN1WU5y1kpM8hKKaVKLzPoe7WtOx3Inj6jnsuWn8zJjTWADOgJu+aOp7jhE+/g/I1b0881vSGCJcL0hgjb9x/mhgd3c83Zc5lcE2LaxCowhus/MZ+g7fU7TwW8V9/7XJ8guSEysOVMrsDkZ2uWMG1Clc60qQG0YrNSxaPBLEeDrtlT69j15hFsS4gljga1xhiicZcX3jxC2LZJuO4gzzY8qUBWgHBA6E16t4QDFl//+7lc8K4Tsz5u+ZymYw5eU8WZ9rdHmVGEgLhSZpCLrdjHWSmlxorUukLb8gLRxtpwnyBz02VLsgYFUyeE+dDcpnRK8oZVC4nGE1y/cj5XbXqO7fsPs/b+ndyyaiE/+dMrbPjDPqY3RFh/4QJqwwGuPHN2+jVSz7nmjqf42ZolGGP6pAfnCkxeP9xDR09CU0fVAFqxWaniGdd9ZlPWLJtFwjEc7Ool6Rh6/VlXgzeTGHe8ZCNLhITj4A6jb6z4P0OxhHQgG7SFecdP5LiJkSEeNXKp4kwtnb3UR4K0dPZy7eYdbNnVUrDXWD6nievOOZWmuio6ehI01VWNu36yo3GclVJqLEil7567/nH2H4py/cr5A4LMtu541l6s+w5GuebsU9l02RKuXzmfzliSoG1TEw7wszWL2XTZEq45ey43Pvwiy06Zyukz6mlu7+GmR17CEpjZWMM1Z8/l9Bn16edNBahL1z3KuesfZ/eBTlzX5OwHm5qxzdZDVo1vqTXhmX2RtWKzUoWhM7N4QdfCZ5r55bNv5Ez5DdrC8RMjvN7Rgy1eYOu4Loksk7QjKQDlpIpHCby1sZbDPfF0waliBH/9izNVhwJE40k2PLa3oK9XiBnkSjZax1kppSpdZvrutx7YzfWfmI8l0mc265YtL7PuvPl90oH//RPv4Ju/2cXXPvZ2vvHfL3gzuZueHbA+NtWDducbnVxz9lxu2fIyn3r3TFb959H1t+vOm5/uVzu9IZIuGpW5xjFrsaoLF9AVS9JYG847dVSr244f46Vis1KloMEs3uzZr58/QMASko4ZEIgK4LiGvx2KZtyXO1w1OS7nwxYI2BYB2ypq0NO/OBOUZ3ufSqfHWSml8pOZvrt9/2GMMQT7pWdu33+YH//pFe66dDGxpMObHb188ze7aO2K0dYd57LlJw9IF75q03Ncc/Zc1vzkqfRt9ZFg1m2vvtfbdu39O9MVjU+fUc/2/YfTaxxTgcnP1yyhJ+HwaluUa3+1g9auWPoxg3Fdw8HuGNGYwysHu7nx4Zdo7YppddsxTguBKVUcGszizZ4lXZegbZF0DCJHe8em0o2zFC0uinDG+olCBj39123Whrw1rKNVnGm8rhvVIlhKKZWf/usK9x6M8vS+Nm7+hwVc8dOjfWQ/+55ZHOqOccVPj7bS2bBqId99+EU++55ZWdezZn6pOL0hwuGeBJNrQlm3nd1UyzVnz+VbD+ymtSuWDoQz1zhalmDbwsUb/tLnOa7a9By/uPzdOfcxWyXk1GywVrdVSqnh02AWb/YsbFs4hnQgC4VvsZOP3qTLiwc6wRgcAyHb4qzv/J6uuDPiIDC1bjNoS3rd5pGeRHr/il2cKdvrFzOFupxoESyllMpP//Tde5/az+ffP5ubHnmJn166mJYjvbR1x/nmb3YBsHbFPN4yqZo9rV1sfqaZfzzzbRzsjGUttBONO+nLGy5ayJSaEI4h67YvtXSlZ3EB6iPBrGscE0k3azCcSOYuEpmtEnJqNnjNT57S6rZKKTVM4zaYdV2TTuWZ0VCN47q0dSWw/VTjUnFcg+N6ry9AzDjsae3mhPqqEQeB2dZtghco11eHitLeJ3Mm9khPguqQzcRIVfr1x8u60Uppo6SUUqXWf10hwHd/9xLnLZyBawwrb3miz/aX3PYk96xenA48X2mLsnbFPL5/4QI+d+fRmdz/+ORpNNaFeeRf3ksoYFFXZTExUkUy6XLLqoVcdsdT6W3XX7iAO554Nf0a0xsiTG+IpNfKZqYAj6RCba5KyKmAWavbKqXU8IzLYLals5dVP/gzV314Dh+cOzU9e1YbdmmPJvrMyFoCbhFj29Rp0QC2BU6/L3QDtgUGDnbFmdVYOyAIzCd9N9e6zY6eBL/552UF36cbf/ciN295maTrErYtYkmXnoRDOGAzwR9HKoW6FOnHo/2a470IllJK5StzXWFrZ4w/7W3jZ08189svLMsaOB7uSQBeL9rzFs6gN+lSXx3kpgtOZ2J1iANHegnYwoU/+HOflOSaqSHaexLc+PCLXHP2XOojQQ73JLjpkZe44IwTeamliyvPnM3MKTUEA1bWYj3ZCkH1n73tX+QpGLByzhznU91Wi0YppVRfYkZrMWiBLFq0yGzbtu2YnuOf7t7Or555HYCPn3Y8Xz/nVP7v5ue9asbGC2AFEBEmVQdp6Sp8mX0LL4CdXBOkrTuBJWBbFvF+0WxV0AtmHWOYM20Cxhg6ehL84er390nfzUxh7d/+5oKNWwes24zGkzTVVXHX6sUF3a8tu1pYc8dTuMZgW4IxEE+6WBZUBWxmNdamXz9kW3THnSHHX+jx5XPMlFLjh4g8ZYxZVOpxVLJCnJv7SyZdXu/ooaUzhm1BwLL6zLimqhQDfXrRTm+IcPM/LOC4iWE6epJcctuTA4LHVP/YpeseHfC6j315OR3RRJ/XShVnAvoEkw2RIO09iazBZbb1sbd/5gxiSbfPbRtWLeS4+irqI30f2z9oBQY8nxaNUkqNVfmem4s6MysiZwHfBWzgB8aYb/a7/9PA9cBr/k03GWN+UMwxAXzpQ6dwsCvG43va+OUzr/PIrhaicYeAJdjiBWAJ1wVjONKbxAJyr4AZmUjIJhK02HbNhzjlX39D0nEHBLLgpR1bCCHbawnck3CoCdlcsHErT/+tHQGmTaxCRHKm747mus0Nj+3FcQ0BSxAEEbzUbdcQS7oYY9KvH7RMn/RnxzW0HOllzR1PseAtDUWZMdVWOUopVf5c1/BSa1efwO22S97Jz9csIe64uMbQ1ZtMF2jqX5X4ip8+zd2XLqajJ5F9XavjEgllTxOOJdx0IJva/tLbt/GLy99NW1c872Ay2/rYi3/4FzZ/fumgLVqyBcG3XryIybWhAc+nRaOUUuOdVawnFhEbuBn4CDAXuEBE5mbZ9B5jzGn+T9EDWYAZk6q547Pv4hvnzqMmZHOkN0nSX6uadFwSrotrvN6vvUm34IFs0PJmWjtjDhds3EptyCLXMt2EY3CMYUptiGg8SUdPgrbuOC2dvbjG4BrD64d76ez1Uq2yVUBePqeJ6845laa6Kjp6EjTVVRVtJnJ/e5RwwOpT/TlgC7ZAdcju8/pdcYdI0Fsf1Nmb4PXDR/cptT54y66Wgo8v9Zop2ipHKaXKS7ZA8NM/epKAbXkV+cNBmurC/GzNEuZMq6O5vYfTZ9Sz4aKF3LN6MdecPReDYVJNiOkNkT7PPb0hQsLxguFbL16Uvj9VWTgaz76utTfhZg0m27qzZ2/Fkw6NteH0mDZctJDG2jBBs6ZTAAAgAElEQVQ9cYfGujAnNFTTWBceEAhn2/dLb99GbyL7uIYqGuW6htbOGK+1R2ntjOEWc+2UUkqNsmLOzJ4B7DHG7AUQkbuBFcDOIr5m3kSEC991Iu99WyNn/vvviSW9ALbQgWs2CRcMJl3U6Ugs94koaAknN9bQHXdoqqsiZHupyNWhACG/lRDirS2qqwpysCtGNO7wnnWP9FkPOlrrNmc0VJN0XO/k7nrVoR1jCNgWN55/ep8xzHjsaNua1s4YIoCR9MxpMWZMtVWOUkqVv1yFklJ9XjNnIls7Y3xobhOfevfMPqnG6y9cwJTaIOsvXMDldz5NY22YK8+czUlTqmnrirPxsZf55nnz07OkIt4Xr7mqHNvCsILJSMjmy2edwlWbjo4pnz60ufbdFhl2walcs7yamqyUGiuKNjMLnADsz7je7N/W33ki8pyIbBKRGdmeSERWi8g2EdnW2tpa0EFOb6jm9Bn1TIyMbi2syTUhJkRCOK4h0W9a1hIviA1YwqKTJvHAF97LH65+P3etXkxnLJmeWZxSG8bFYIwhlnRo7eyltStOTdimPhJkX1sXa+54ioVrH+KCjVsLPsuZzZpls9JpUwHbSy+2RLhi+ckDgtI1y2aRcAzReJJY0sEYg4thSq33R0oxZkwzX9MY719tlaOUUuUlVSk4U67AbXJNiH/92MBU48vvfBrXeAHbzy9bwtqPz+OaXz3P+274Pf98zzN86t0zSSTd9Czp8fURpk6MMG1C1YAZ21svXpROS85nTABJ16QD2dSYrtr0HMkhZkZz7XskZGcd12BFo3LN8uaaTVZKqUpTzGA221d+/X+D/xdwkjFmPvA74MfZnsgYs9EYs8gYs6ixsbHAw4TL3nsyEyOhoh4MOHqwbYGuWDKdWtufLYC/1rR/kDWjoZqehPct8IRIkOMnRrzm7ZZFNO4wsSrAkZ4kO984whsdMWJJr0LzKwe7ipK2218qpXnmlFom1YR450mT2LBqIVd+4G05t22qq8K2LCxLOH5iJF3xuBgzpqOZcq2UUmpkUpWC8wncvHOgZJ3NFOC4iREc16Rb8KTuu/re57Iu8clsEfT41e/jvsuXcsrUOuoj+Y8JRtaHdrB9r4+Eso5rsBnWwWa4c9G0ZKVUJSnmdGQzkDnTOh14PXMDY0xbxtVbgXVFHE9OqV6gV969ne54EtcdGHUXhEDYtnBcl2jc4dU2b9bR9tv/BGyvx23ChXAg92xmZjGngC3pgOxLm56lI5rAMaZPOyHXeN/OTq4JjUqho+GkNKe2TVUZDtjSp0hUMWZMtVWOUkqVt/49Z4dqQzNYz9fGujCvtUezBnW5Ojr0T2VOKdSY8tn3zZ9fSk/cwTGGKj8jK9e4chnuGDQtWSlVaYo5GfkkMFtEZopICDgf2Jy5gYgcl3H1HOCFIo5nUMvnNHHj+adzQn010yYWpyqgMd43tUk/WE79OAYmVHlrYG0LwgErr9nMNzt6aO2MpdeWRmPOgEA2/dquobM3WbaFjnTGVCmlVKZU4JarUFKmoWZyh5O2PFpjGsqBIzE+uXEry761hf+5/k/sPtA57FnS4Y5B05KVUpWmaDOzxpikiHweeBCvNc8PjTE7ROQ6YJsxZjNwpYicAySBQ8CnizWefKRmaP/1l38t2mvkOg119CZprA0xbWIVTXVVgwZxqfuu3byDiX6/1JbOXnoSTs7nd4FY0i3rQkc6Y6qUUmokhprJTQV1A9rd5BlYFmNM2aT6y/YkkrzZ0UtjbZjm9p4Rt+EZ7hhGkpaslFKlVNSqR8aYXwO/7nfbtRmXvwp8tZhjGInWrnhRessO9X1qa1ec1q44Idtiy66WQQO7zH6pR3oSHOyKDfr8roGgPXANbsqWXS1seGwv+9ujfaogK6WUUpVgsBTckQSWxR5Tf9lSfNedN58bHtzN9v2HRxxUDmcMI02NVkqpUhndEr4VYMNje0m6he8tmy8B4o7LtZt3sLL5ML/+6xu84q+tnTWlhqvPmsPyOU3sb49SHwnyZkcPB7viGP+xuQJaEbKuwQXS61WDtlAfCaZ7vF4HGtAqpZQaE4a73nS0ZUvxvfre57jm7Lms+clToxJUlmIGWymljoUGs/3sb48Sti2ibuHDWRFv3exgDFAdCnCwq5fvPbrH396QdOGFNzu59Cfb+Mf3vZUZDdW8crArHcimHtvn9fDa/ARsiyuWn8yVH3hb1hnYzFle/NcvRo9XpZRSSmWXK8W3PhIctaCyVDPYSik1UhrM9jOjodqrNtwRK/hzDxXIghd8AnREEyQcQ8ASHPdon6OEY7h5y8tcsfxknv5be3pGNsW2xG/tIzTVhZmekTKcawa2O5bguIl9C2MUo8erGjlNA1dKqbEtV4rv9IYI912+dNSCynKfwVZKqUzFbq1acdYsm0XQtr2AsASm+N+6xhwXAZxU5cKM8Tiu4Ym9h6irCqRTi0UgaFte8GtgwVsa+MPV7+eu1YvTQU/mDKyI92/QFhKOSfeuTSlGj1c1MqkvIVo6e/t8CVHsnsFKKaVGT67Kw8dNjAxZOVkppcYrnZntJ1XRePXt23DymUodIfF/MpOZG6oDNE2oIhpPErAsXFwSrheoZj4uHLBobo8yu6mOoN1FW1cCEW87xzXYVvZCT6l1tpkiQZtQwCLhmHTv2mL2eFXDp2ngSik19mmKr1JKDZ/OzObgYCjm6cMSCAUsQrZgW/DFD8xm2oQIL7V00dzeQ2NNkIjfJN0Y/wfvZFdXFUinDwdtm8m1QWyBhONiieQs9DSjoTrrDOzspjrt8VrG9rdH05+FFE0DV0qp0eW6htbOGK+1R2ntjA2752s+htPHthKNxjFUSo0vOjObxYbH9hK0LGLGHbqfTh76t/mx8FrlxB3vVkvgN8+/SWtXjIbqIJ29Sd7sjCMCdWGLzpi3XThg0VAdJBSw02smr/PH22xF+6yPzWbNsllcu3lH1hnYQvV41bWdhTejoZqWzt70zCxoGrhSSo2mbG1zbr14EadMrSvLgDPVr7acZngr7RgqpSqDBrNZ7G+PUldl09tVmIrG/Z/FxU8xNhCwhBPqq3jlYDfxpItYQkDEX/tqiDverO0Tew/x0oEjROMOSdew4bG9AMMKQvsEv+1Hg1+ACzZuPeYAVFv8FMdgX0IopZTKrVBBXba2OZfevo37Ll9adsWSyjVorKRjqJSqHJpmnEVtyKatK1Hw5xW84DWzH+wJ9REmREI4xmDwTkKWJTiuwXENsaTLD/74CktmTaI6HKSxLsy0CVUjLgK0fE4Td61enC4OBRSsuFCuAlOpwFuNzPI5TZoGrpRSw5QK6s5d/zhL1z3KuesfZ/eBzhGltuZqmxNPOjkeUTq5gsa27nhJx1VJx1ApVTl0ZjYLESlEdvEAQdvCtoSAZehNulQHLSb4BZlCtkXC8X6hJx2XhH+yFaA7nuTmLS/TUB1kYqQKKFwRoEIWF8pVYErXdh67QqWBK6XUeFHImcBcbXNEJP0ldLnIN2gc7VTkXMcwFLAHeZRSSg1OZ2az6IwlC/oLPfVUImAw6SrJSdew680j7G3toiZkpwtOpe4XIGALVQGbpOvS2Zvs87yFCBQLWVwoV4EpXduplFJqtBViJjBVsMh1XTZctLBP25x1583n65ufH/Fsb7GkgsZM/YPGQs5a5ytX66HJfktCpZQaCZ2ZzWJGQzUHu7wqe8f6az1gCUnXeFWL5Wj/2OqQTTzpYvlViA9FXaoCQtJAwjHpQFbwKhu2HOklluy7+rYQgWIhiwvp2k6llFLl4lhnAvuvPf3Q3CbuXr2YNzt6aeuOc8ODu9m+/zA73+gsq3WfqaCx/5rZzKCxFOtXtfWQUqoYNJjNYs2yWXxp07MkknGcY4hmg5Yg4s3MzppSQ3fcCxIPR+PEHRfH/8Y37rgELOGkKTVcfdYcrrx7O93xJCHborEuTF1VkFjS4VB3ImegONIqwoUMQHMVmBppMSmtiqyUUmqk8gnqBtM/4HtoZwurl53Mylue6LNdua37zCdoLNX61VTrIaWUKhQNZrNYPqeJixefyC2/30s0MbJf7IKXRmyASNDiKx95ezoYe8+6R6iPBBER6qq8NabGGDp6Eiyf08SN55/OVZuepbM3SXN7FMtfwxsOCK2dMUIBi9lNdekA71iqCBcyAE0937EGnVoVWSmlSkdErgf+HogDLwOXGGMOl3ZUw3esM4HZAr627nhFrPscKmjU9atKqbFC18xmsWVXC5uefo3j6quYd/wEqgLDP0wGL004aAsTI8E+FYLzWVtqAAQMQsIxOI5hck2Yxrow1aFAn4DzWKsI969wXOqAUasiK6VUSf0WmGeMmQ+8CHy1xOMZsVRQd0JDNY114WGltGZbe3rvU/sHrJ2txHWfun5VKTVW6MxsFv0r/CZHWBAhtfa1szdJXRXpCsFDpfZueGwvEyNBjpsYYW9rl/f6Bg52xZnVWDug2vBYqyI81vZHKaUqiTHmoYyrW4GVpRpLKWVLU/7CB09hdmNtxa/71PWrSqmxQoPZLPoHU64Z+cJZA8QSDnHHJekcAYZO7c18/bjjYvsnl7jjFYDqH9gVsohTORhr+6OUUhXsM8A9pR5EKQwW8I2FdZ9jZT+UUuObBrNZZAZTnb0JjrVSvQuIa2jvSfKedY+kCxrdtXrxkK8fsq30zGzI9tKd+wd2Y62K8FjbH6WUKjci8jtgWpa7vmaM+ZW/zdeAJHBnjudYDawGeMtb3lKkkZaWBnxKKVXedM1sFmuWzSLhGKLxJC1Heo/5+VyDVxXZmD4FjVJraAd7/Sm1IRzX6007pTZENJ4cENgtn9PEdeecSlNdFR09CZrqqrjunFNLvvZ1pHLtD8AFG7fynnWPcMHGrTmPn1JKqcEZYz5gjJmX5ScVyH4KOBu40Jjs6UnGmI3GmEXGmEWNjY2jOfyylupN+1p71O9RWz49aJVSaqyRHOeosrVo0SKzbdu2or9OqjXMX/Yd8nvBHvtxssSbdZ0QCRKNJ2mqq8o5O5t6/eb2KLXhAMaYdGuf8dimJrPCceZsbSUH7Uqp8iAiTxljFpV6HOVCRM4Cvg281xjTms9jRuvcXO7696ZNFVY6ZWqdrkdVSqlhyPfcrMHsEM76zu/Z09o94iJQmQLipRzblpB0vLY9c6bW9mnbo7K7YOPWAetoh/pCQCml8qHBbF8isgcIA23+TVuNMZcN9hgNZj2tnTHOXf/4gJY3912+VNOVlVJqGPI9N2ua8RBECvNNqvjP5Rpvltf4t+1p7eZLm57VlNkh7G+PEgn27X+nFY6VUqrwjDFvNcbMMMac5v8MGsiqo7L1pm1u7yGeHFnPeqWUUoPTYHYInbEkk6qDQ284CFu8qsaJHLO7XbGk9lAdQj69eZVSSqlSytabdnpDhFDAzvEINV7p2mqlCkOD2SHMaKjmSG9y2I+TjB/HeP9mk3QNCcfoDOMQMotiGWOyFsJSSimlSinVmzYV0KbWzE6uCZV4ZKqcpNZWn7v+cZaue5Rz1z/O7gOdGtAqNQIazA5hzbJZJFx32I8zeAWfUr+WAtmOtB/hGmN0hnEIY61is1JKqbEnszft41e/j/suX6rFn9QAbd3xdJEw8FLRL719G23d8RKPTKnKo31mh7B8ThOzG2t5saUrZ79ZAaqCNknHJekaxA9iG2pCHI4msP3CT0dDW0+q9pYx6AxjHpbPadLgVSmlVFkrdW9a1zW0dceJJx1CAZvJNSENpsuMrq1WqnB0ZjYPH/2747BznAgk/R+wRKgO2cycUsPimZPZ9q8fZHZTLQZIZmntI0DQghPqq9jw2F7tn6qUUkqpEdP01cqga6uVKhwNZoewZVcLm55+jdrwwF8wFl4qsQUkXRcXQ11VIL2Wc8uuFprbo8T96sWZmmpDzGqsob46RG/SpaWzl/pIkJbOXq7dvEMDWqWUUkoNi6avVgZdW61U4Wia8RA2PLaXeNKhs3dg6ocLTPF/8cSTLiFbmDmlljXLZrF8ThMXbNxKwjXp/rLGkG7J09Gb5OSmOoKWkHBNun9qdShANO5VN9aUWqWUUkrlS9NXK0Pm2mpNB1fq2GgwO4T97VHaowmSWVJ0BOjsTbJh1cKsgef+9iiOawjYVrpfrcGQdFya6sLctXox71n3CPWRo61/jvQkONgVY19blAs2bk0HxkoppZRSg0mlr2YGtJq+Wp5KvbZaqbFC04yHUBcOEEtmr2ZsAMc1OXvEzmioxrYkXegJvNnZgGWlqxdn9k890pPg9Y4e4o5L2BZNOVZKKaVU3jR9VSk13ujM7BCMMQj96xB7BAgHrJw9Ytcsm8WXNj3L4WgC48/sugYaqoPp6sVrls3i2s07iMaTHOyK+c8rNE2oSqccr3tgFxse28v+9igzGqp1tjaHLbta9DgppZQatzR9VSk13ujM7BC64g5TaoNZ7xOBuqpAzh6xy+c0ccPKd/DWxhpEBBFhdlMt1698RzrIyuyf2pt0CVrC8fVV1FV5r5l0XF5s6dICUUPYsquFazfv0OOklFJqXEulr57QUE1jXVgDWaXUmKYzs0OY0VBNS2cv1aEgr3f0kMhosdNUFyYUsAftEZtPb9TUNhds3Oq/1tG35cCRGEFbtEDUEDY8tlePk1JKKaWUUuOIzswOYc2yWSQcQ8D2UnemTQgTDlhMqQ0xc0ot151zasGCpdRrReNJjPH+TbguU/sVCIgE7ZypzSOxZVcLF2zcWtF9bve3R4kE+xa4KPRxUkoppVR5c11Da2eM19qjtHbGtMeuUmNcUWdmReQs4LuADfzAGPPNfveHgduBhUAb8EljzL5ijmm4ls9p4jq8mb/m9igzp9TyzSKtxez/WtMbqtOtezL1JJycqc3DlUrPDdrSJz33On88leLoDPrRj3Qhj5NSSimlypvrGnYf6Ez32k0VwDplap2mWys1RhUtmBURG7gZ+CDQDDwpIpuNMTszNvss0G6MeauInA+sAz5ZrDGNVD6pwsV6rVSwGY0niQRtehIOCccMmto8HGMlPTezkFYxjpNSSimlyltbdzwdyILXY/fS27dx3+VLtQ2OUmNUMdOMzwD2GGP2GmPiwN3Ain7brAB+7F/eBJwpqYasCuhbIKqjJ0FTXVVBU5vHSnpusY+TUkoppcpbPOn06bELXkAbTzolGpFSqtiKmWZ8ArA/43oz8K5c2xhjkiLSAUwGDhZxXBWnmDPDYyk9dzRn0JVSSilVXkIBm+kNkT4B7fSGCKGAPcijlFKVrJgzs9lmWPuvws9nG0RktYhsE5Ftra2tBRmc8mQtOqXpuUoppZSqMJNrQtx68SKmN0QA0mtmJ9eESjwypVSxFHNmthmYkXF9OvB6jm2aRSQATAQO9X8iY8xGYCPAokWLtCxdAWUrOrWmSAWulFJKKaWKxbK8zhP3Xb6UeNIhFLCZXBPS4k9KjWHFDGafBGaLyEzgNeB84B/6bbMZ+BTwBLASeMQYo8HqKNP0XKWUUkqNBZYlWuxJqXGkaMGsvwb288CDeK15fmiM2SEi1wHbjDGbgf8EfiIie/BmZM8v1niUUkoppZRSSo0dRe0za4z5NfDrfrddm3G5F/hEMceglFJKKaWUUmrsKWYBKKWUUkoppZRSqig0mFVKKaWUUkopVXE0mFVKKaWUUkopVXE0mFVKKaWUUkopVXE0mFVKKaWUUkopVXE0mFVKKaWUUkopVXHEGFPqMQyLiLQCr47Sy00BDo7Sa40G3Z/ypvtT3nR/ytux7M+JxpjGQg5mvDmGc/NY+xwWih6X7PS4ZKfHJTc9NtlVwnHJ69xcccHsaBKRbcaYRaUeR6Ho/pQ33Z/ypvtT3sba/owX+r5lp8clOz0u2elxyU2PTXZj6bhomrFSSimllFJKqYqjwaxSSimllFJKqYqjwezgNpZ6AAWm+1PedH/Km+5PeRtr+zNe6PuWnR6X7PS4ZKfHJTc9NtmNmeOia2aVUkoppZRSSlUcnZlVSimllFJKKVVxNJjNQkTOEpHdIrJHRL5S6vEMRkT2ichfReQZEdnm3zZJRH4rIi/5/zb4t4uI3Ojv13MisiDjeT7lb/+SiHxqFMf/QxFpEZHnM24r2PhFZKF/fPb4j5US7M/XReQ1/z16RkQ+mnHfV/2x7RaRD2fcnvUzKCIzReTP/n7eIyKhIu/PDBF5VEReEJEdIvJP/u0V+R4Nsj8V+R6JSJWI/EVEnvX35/8ONgYRCfvX9/j3nzTS/Rzl/blNRF7JeH9O828v68+bOmqoz9Fgn82xLI/jskxEnhaRpIisLMUYSyGP4/JFEdnp/3//sIicWIpxjrY8jstlcvRvwj+KyNxSjHO05XueEpGVImJEZExU8R1KHp+XT4tIa8a59X+XYpzHzBijPxk/gA28DMwCQsCzwNxSj2uQ8e4DpvS77VvAV/zLXwHW+Zc/CvwGEGAx8Gf/9knAXv/fBv9ywyiNfxmwAHi+GOMH/gIs8R/zG+AjJdifrwNfyrLtXP/zFQZm+p87e7DPIPAz4Hz/8i3A54q8P8cBC/zLdcCL/rgr8j0aZH8q8j3yj1mtfzkI/Nk/7lnHAFwO3OJfPh+4Z6T7Ocr7cxuwMsv2Zf1505/0+zTk5yjXZ3Ms/+R5XE4C5gO3Z/t/YCz+5Hlc3gdU+5c/p5+X9DYTMi6fAzxQ6nGXw3Hxt6sDHgO2AotKPe5yOC7Ap4GbSj3WY/3RmdmBzgD2GGP2GmPiwN3AihKPabhWAD/2L/8Y+HjG7bcbz1agXkSOAz4M/NYYc8gY0w78FjhrNAZqjHkMONTv5oKM379vgjHmCeP9X3t7xnON5v7ksgK42xgTM8a8AuzB+/xl/Qz6M0jvBzb5j888NkVhjHnDGPO0f7kTeAE4gQp9jwbZn1zK+j3yj3OXfzXo/5hBxpD5vm0CzvTHPKz9LMH+5FLWnzeVls/nKNdncywb8rgYY/YZY54D3FIMsETyOS6PGmOi/tWtwPRRHmMp5HNcjmRcrWHw359jRb7nqbV4X8T3jubgSmgsxDN50WB2oBOA/RnXmxn8j91SM8BDIvKUiKz2b5tqjHkDvD/egSb/9lz7Vm77XKjxn+Bf7n97KXzeT4f6ofgpuQx/fyYDh40xyX63jwo/7e90vNmyin+P+u0PVOh7JCK2iDwDtOAFbS8PMob0uP37O/wxl83vhv77Y4xJvT/f8N+f74hI2L+tYj5v41w+n6Ncn82xrNzOveViuMfls3hZFmNdXsdFRK4QkZfxArcrR2lspTTkcRGR04EZxpj7R3NgJZbv/0fn+efWTSIyY3SGVlgazA6U7Zvgcv5ma6kxZgHwEeAKEVk2yLa59q1S9nm44y+X/fo+cDJwGvAG8O/+7RWzPyJSC9wL/HO/b34HbJrltrLbpyz7U7HvkTHGMcachjczcQbw9kHGUHH7IyLzgK8Cc4B34qUOX+1vXvb7o4D8jvt4fG/G4z7nI+/jIiKrgEXA9UUdUXnI67gYY242xpyM93vyX4s+qtIb9LiIiAV8B/iXURtRecjn8/JfwEnGmPnA7ziaHVNRNJgdqBnI/GZiOvB6icYyJGPM6/6/LcB9eH/MHvDT6fD/bfE3z7Vv5bbPhRp/M31Tj0qyX8aYA/4f6C5wK957BMPfn4N4aZSBfrcXlYgE8QK/O40xv/Bvrtj3KNv+VPp7BGCMOQxswVs7mmsM6XH790/ES4svu98NGftzlp8ebowxMeBHjPz9KYvfCeNQPp+jXJ/Nsazczr3lIq/jIiIfAL4GnOP/bhjrhvt5uZvxsYxiqONSB8wDtojIPrxz5OZxUARqyM+LMaYt4/+dW4GFozS2gtJgdqAngdniVQMN4RWi2FziMWUlIjUiUpe6DHwIeB5vvKnqnZ8CfuVf3gxcLJ7FQIefIvog8CERafDTKz/k31YqBRm/f1+niCz2115dnPFcoyYV9PnOxXuPwNuf88Wr4jkTmI1XnCbrZ9Bf4/cokKpomXlsijV2Af4TeMEY8+2MuyryPcq1P5X6HolIo4jU+5cjwAfw1gHnGkPm+7YSeMQf87D2c5T3Z1fGFyeC98dZ5vtTtp83lZbP5yjXZ3Msq5i/N0bZkMfFTxvdgBfItmR5jrEon+MyO+Pqx4CXRnF8pTLocTHGdBhjphhjTjLGnIS3xvocY8y20gx31OTzecn82+ccvL8fKo8pgypU5faDVyHzRby1Z18r9XgGGecsvOpkzwI7UmPFW2f0MN4vsYeBSf7tAtzs79dfyajmBnwGr+jLHuCSUdyHu/DSOhN43yJ9tpDjx0s/et5/zE2AlGB/fuKP9zm8XyTHZWz/NX9su8moqprrM+i/53/x9/PnQLjI+/MevLSU54Bn/J+PVup7NMj+VOR7hFfldLs/7ueBawcbA1DlX9/j3z9rpPs5yvvziP/+PA/cwdGKx2X9edOfPu/tgM8RcB3eH5WDfjbH8k8ex+WdeOeSbqAN2FHqMZfJcfkdcCDj9/jmUo+5TI7Ld/H+HnwG70vNU0s95nI4Lv223cI4qGac5+fl//c/L8/6n5c5pR7zSH7E3xmllFJKKaWUUqpiaJqxUkoppZRSSqmKo8GsUkoppZRSSqmKo8GsUkoppZRSSqmKo8GsUkoppZRSSqmKo8GsUkoppZRSSqmKo8GsUkUkIo6IPJPxc5KILBKRG/37l4vIuzO2/7iIzB3B63QVaLwFeR6llFKqkun5UKnKECj1AJQa43qMMaf1u20fkGrWvRzoAv7kX/84cD+wczQGp5RSSqnSEZGAMSZZ6nEoVal0ZlapUebPxt4vIicBlwFf8Gdt3wucA1zvXz/Z/3lARJ4SkT+IyBz/OWaKyBMi8qSIrM3xOutE5PKM618XkX8RkVoReVhEnhaRv4rIilxjzLh+k4h82r+8UER+74/pQRE5zr/9ShHZKSLPicjdBTtgSimlVBkQkR8TqIMAAAPtSURBVEYRudc/9z4pIktFxBKRfSJSn7HdHhGZmm17//6vi8hGEXkIuN3P2vqDf15+OpWx5T/3ehHZ4f/d8GsRWenfl/VcrNR4ozOzShVXRESe8S+/Yow5N3WHMWafiNwCdBljbgAQkc3A/caYTf71h4HLjDEvici7gPXA+4HvAt83xtwuIlfkeO27gf/wHwPwv4CzgF7gXGPMERGZAmwVkc3GGDPUzohIEPgesMIY0yoinwS+AXwG+Aow0xgTyzypK6WUUmPEd4HvGGP+KCJvAR40xrxdRH4FnAv8yD9X7zPGHBCRn/bfHni7/1wLgfcYY3pEpBr4oDGmV0RmA3cBi4D/CZwE/B3QBLwA/HCIc7FS44oGs0oVV7Y047yISC3wbuDnIpK6Oez/uxQ4z7/8E2Bd/8cbY7aLSJOIHA80Au3GmL/5J8H/T0SWAS5wAjAVeDOPYZ0CzAN+64/JBt7w73sOuFNEfgn8cjj7qpRSSlWADwBzM87JE0SkDrgHuBb4EXC+f32w7QE2G2N6/MtB4CYROQ1wgLf5t78H+LkxxgXeFJFH/dsHOxcrNa5oMKtU+bKAw4MEw0POpAKbgJXANLyZWoAL8YLbhcaYhIjsA6r6PS5J32UIqfsF2GGMWZLltT4GLMNLlb5GRE7VdUBKKaXGEAtYkhGEAiAiTwBvFZFGvNoX/zbE9gDdGTd9ATgAvMN/TG9q0xzjGOxcrNS4omtmlSqtTqAu23VjzBHgFRH5BIB43uFv9zjet7/gBae53O1vtxIvsAWYCLT4gez7gBOzPO5VvG+TwyIyETjTv3030CgiS/wxBUXkVBGxgBnGmEeBLwP1QG1eR0AppZSqDA8Bn09d8WdS8Zfp3Ad8G3jBGNM22PZZTATe8GdgL8KbaQX4I3Cev3Z2Kl7RSMhxLj723VOq8mgwq1Rp/RdwrngFn/4HXvB5lYhsF5GT8QLVz4rIs8AOIFWs6Z+AK0TkSbyTYFbGmB14wfFrxphUCtKdwCIR2eY//64sj9sP/Aw/dRjY7t8exwuM1/ljegYvFdoG7hCRv/rbfscYc3ikB0UppZQqsWoRac74+SJwJd758zkR2YlXxDHlHmAVR1OMGWL7TOuBT4nIVrwU49Ss7b1AM/A8sAH4M9AxyLlYqXFH8qj5opRSSimllBplIlJrjOkSkcnAX4Clxph8alwoNS7omlmllFJKKaXK0/1+h4AQsFYDWaX60plZpZRSSimllFIVR9fMKqWUUkoppZSqOBrMKqWUUkoppZSqOBrMKqWUUkoppZSqOBrMKqWUUkoppZSqOBrMKqWUUkoppZSqOBrMKqWUUkoppZSqOP8PuLBUlhguX34AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1152x1296 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Diagnostics for bacward stepwise model\n",
    "lm_plot(lm_stats(X_test, y_test, y_hat))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We immediately see a very high leverage outlier. There's some none normal distributions, some heteroscedaticity and some no non-linear relationships.\n",
    "\n",
    "Below we take logs of reponse and predictors."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1095,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RSME: 1085.4596006988925\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1152x1296 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.feature_selection import RFECV\n",
    "from sklearn.linear_model import LinearRegression\n",
    "\n",
    "X_train = college_df[train].drop(response, axis=1)\n",
    "X_test  = college_df[~train].drop(response, axis=1)\n",
    "y_train = pd.DataFrame({'Apps': college_df[train][response]})\n",
    "y_test  = np.array(college_df[~train][response])\n",
    "\n",
    "estimator = LinearRegression()\n",
    "selector = RFECV(estimator, step=1, cv=10, scoring='neg_mean_squared_error')\n",
    "\n",
    "selector = selector.fit(np.log1p(X_train), np.log(y_train))\n",
    "\n",
    "y_hat = np.exp(selector.predict(np.log1p(X_test)))\n",
    "print('RSME: {}'.format(np.sqrt(mse(y_hat, y_test))))\n",
    "\n",
    "# Diagnostics for bacward stepwise model\n",
    "lm_plot(lm_stats(np.log1p(X_test), y_test, y_hat))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This yields a significantly improved RMSE from 1228.10 down to 1085.46. \n",
    "\n",
    "The leverage of the anomalous observations is reduced. Non-normal distirbution of predictors is more clearly pronounced.\n",
    "\n",
    "Non-linear realtionships and heteroscedaticity not accounted for by our model remain suggesting non-linear models might be of benefit here."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
